繁体   English   中英

ASP.NET MVC:大文件上传问题

[英]ASP.NET MVC: Large file upload issue

在多个线程上讨论了此问题,但仍然无法正常工作。 我正在上传大约30MB的文本文件。 我正在使用一种经典方法,其中<form>具有<input type="file"/>并且表单提交由接受带有[HttpPost]属性的HttpPostedFileBase参数的方法处理。

问题:

  1. 在Crome上,大约2分钟后会发出ERR_CONNECTION_RESET消息。
  2. 在IE上,它显示以下消息:

    HTTP错误404.13-找不到请求过滤模块配置为拒绝超出请求内容长度的请求。

  3. 在Firefox上文件上传时间过长(超过30分钟)。

我尝试的解决方案:<httpRuntime>设置maxRequestLength="102400" executionTimeout="3600"

我想要的是?

  1. 上传效果应该不错。
  2. 解决方案应适用于所有浏览器。

我知道即使我在所有浏览器上都能找到解决方案,但上传仍会花费大量时间。 我是否可以使用其他方法来使应用程序性能良好?

您已更改了请求长度,但未更改IE建议的内容长度。

尝试添加

<system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="36700160" />
      </requestFiltering>
   </security>
 </system.webServer>

到您的web.config。

需要注意的是, maxAllowedContentLength以字节为单位; 36,700,160字节应大致等于约35MB。

您需要做几件事,首先,您需要更改最大文件上传大小:

<system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="36700160" />
      </requestFiltering>
   </security>
</system.webServer>

其中maxAllowedContentLength是最大文件大小(以字节为单位)

其次,使用该大小的文件,您可能需要更改请求超时限制,因为上传文件所花费的时间可能会超过默认值(我认为大约是2分钟):

<system.web>
    <httpRuntime executionTimeout="300" />
</system.web>

其中executionTimeout是以秒为单位的时间长度

将这些值更改为适合您的解决方案的感觉

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM