【问题标题】:Uploading files with asp.net FileUpload. Buffering to disk before filling up memory?使用 asp.net FileUpload 上传文件。在填满内存之前缓冲到磁盘?
【发布时间】:2011-04-27 00:25:47
【问题描述】:

System.Web.UI.WebControls.FileUpload 在上传文件时使用 FileInputStream。这会在上传时将所有内容存储在内存中,还是在填充一定的缓冲区大小后开始写入磁盘?

我知道几年前它曾经像那样工作,但我认为现在已经改变了......虽然在文档中找不到它。

【问题讨论】:

    标签: c# .net iis memory


    【解决方案1】:

    快速浏览反射器似乎表明 FileUpload 控件使用了 HttpInputStream 实例。

    在底层,HttpInputStream 将工作委托给具有大小阈值的 HttpRawUploadContent。超过该阈值的任何内容都会被泵入一个临时文件,低于该阈值的任何内容都完全在内存中处理。

    【讨论】:

    • 谢谢。我猜这个阈值可能是在 web.config 中设置的?
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2013-12-18
    • 1970-01-01
    相关资源
    最近更新 更多