【发布时间】:2011-04-27 00:25:47
【问题描述】:
System.Web.UI.WebControls.FileUpload 在上传文件时使用 FileInputStream。这会在上传时将所有内容存储在内存中,还是在填充一定的缓冲区大小后开始写入磁盘?
我知道几年前它曾经像那样工作,但我认为现在已经改变了......虽然在文档中找不到它。
【问题讨论】:
System.Web.UI.WebControls.FileUpload 在上传文件时使用 FileInputStream。这会在上传时将所有内容存储在内存中,还是在填充一定的缓冲区大小后开始写入磁盘?
我知道几年前它曾经像那样工作,但我认为现在已经改变了......虽然在文档中找不到它。
【问题讨论】:
快速浏览反射器似乎表明 FileUpload 控件使用了 HttpInputStream 实例。
在底层,HttpInputStream 将工作委托给具有大小阈值的 HttpRawUploadContent。超过该阈值的任何内容都会被泵入一个临时文件,低于该阈值的任何内容都完全在内存中处理。
【讨论】: