我在ASP.Net中使用文件上传控件,遵循以下博客方法。
http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx
4MB默认值在machine.config中设置,但您可以在web.config中覆盖它。例如,要将上传限制扩展到20MB,您可以这样做:
<system.web>
<httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>
问题: 如果我们允许用户上传50-60 MB文件,那么我可以增加所请求的长度以及对网站的性能影响。
答案 0 :(得分:5)
maxRequestLength
字段的“理论”最大级别是带符号的32位整数数据类型(Int32.MaxValue
)的最大值。
但是,您必须测试上传才能了解您的效果。
编辑:
理论上,最大文件上传大小相当大。然而, 因为ASP.NET运行状况监控,你无法上传非常大 ASP.NET中的文件。 ASP.NET辅助进程具有虚拟地址 2千兆字节(GB)的空间。但是,仅限ASP.NET工作进程 由于健康监控和内存,使用略多于1 GB 碎片。
在上载过程中,ASP.NET将整个文件加载到内存中 在用户可以将文件保存到磁盘之前。因此,这个过程 可能因为processModel的memoryLimit属性而回收 Machine.config文件中的标记。 memoryLimit属性指定 ASP.NET辅助进程可以使用的物理内存百分比 在过程自动回收之前排气。回收 防止内存泄漏导致ASP.NET崩溃或停止 响应。
此外,其他因素在最大文件大小中起作用 可以上传。这些因素包括可用内存 硬盘空间,处理器速度和当前网络流量。同 正在上传的文件流量,Microsoft建议您 使用最大文件大小,范围为10到20兆字节(MB)。如果 你很少上传文件,最大文件大小可能是100 MB。
注意您可以在ASP.NET中上载大于100 MB的文件。 但是,Microsoft建议您遵循最大文件上载 本文中提到的大小。确定更精确 文件大小,在类似的计算机上执行压力测试 将用于生产的那些。