【发布时间】:2014-09-12 11:31:25
【问题描述】:
我有一个 ASP.NET Web 应用程序,我希望我的用户能够上传大文件。但是,有些文件非常大,占用的内存过多。
原则上应该可以接收请求流并将其直接写入 FileWriter 流,无需先将整个文件加载到内存中。
我尝试访问Request.InputStream 并将其直接写入文件。它可以工作,但使用较大文件的测试表明 Request.InputStream 仅在整个请求已加载到内存后才可用。
有人能告诉我一种方法,我可以使用一种方法在 ASP.NET 中接收普通的Request.InputStream,然后直接将其写入文件而不先将其加载到内存中吗?
请注意,文件是通过浏览器中的正常请求发送的,方法是发布带有文件字段的表单。 (我实际上使用BlueImp JQuery File Upload,但我认为它与这个问题无关)
【问题讨论】:
-
我相信这是 http 协议而不是 .NET 的限制。
-
您的意思是该协议有效,因此您只能接收完整的请求,并且在收到整个请求之前无法开始处理请求?
-
是的,但是,我找不到任何权威信息。
标签: asp.net file-upload