我正在使用 ASP.NET 进行文件上传,我在客户端发送的数据中遇到了一些障碍,因为多部分表单数据被直接读入 RAM。
显然,这意味着最大文件上传大小受限于机器上的可用 RAM,即使这样,当您同时上传多个文件时,文件上传大小也会小得多。
是否可以让 ASP.NET 将数据写入硬盘驱动器上的临时文件,而不是读入 RAM?
我正在使用 ASP.NET 进行文件上传,我在客户端发送的数据中遇到了一些障碍,因为多部分表单数据被直接读入 RAM。
显然,这意味着最大文件上传大小受限于机器上的可用 RAM,即使这样,当您同时上传多个文件时,文件上传大小也会小得多。
是否可以让 ASP.NET 将数据写入硬盘驱动器上的临时文件,而不是读入 RAM?
ASP.NET 在达到requestLengthDiskThreshold时将上传的数据保存到一个临时文件中:
我个人使用 NeatUpload http://neatupload.codeplex.com/。它是一个自定义的 HttpHandler,可以将大量上传内容写入磁盘。支持的最大文件大小为 4GB。
此外,它会在上传过程中显示一个进度条,这样大的上传就不会显得挂起。