2012-03-13 25 views
3

我需要一种上传我的.net mvc3网站(托管在Amazon上)的大文件(50+ MB)的方法。尝试上传大型zip文件(36.9MB)后,FireFox显示“连接已重置”屏幕,FireBug在状态下显示“中止”。.NET MVC3无法通过FileUpload上传大文件

关于如何解决它的任何想法?

控制器:

private void SaveFile(HttpPostedFileBase uploadedFile) 
{ 
    using (var file = System.IO.File.Create(Server.MapPath("/uploads/" + uploadedFile.FileName)) 
     uploadedFile.InputStream.CopyTo(file); 
} 

的Web.config:

<system.web> 
    <httpRuntime maxRequestLength="56320" executionTimeout="1500"/> 
</system.web> 

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

回答

9

maxAllowedContentLength属性在字节:

<requestLimits maxAllowedContentLength= "10485760"/> 

10485760字节= 10MB。所以如果你尝试上传一个大于10MB的文件,你将会失败。

做你maxRequestLength这是KB之间是一致的:

<system.web> 
    <!-- Limit file uploads to 55MB --> 
    <httpRuntime maxRequestLength="56320" executionTimeout="1500"/> 
</system.web> 

指示和55MB的限制你的requestLimits。像这样:

<system.webServer> 
    <security> 
     <requestFiltering> 
      <!-- Limit file uploads to 55MB --> 
      <requestLimits maxAllowedContentLength="57671680"/> 
     </requestFiltering> 
    </security> 
</system.webServer> 
+2

我这样做是因为你说的。但它仍然只上传1-2 Mb以下的文件。你知道是否有其他设置需要检查吗?可以给任何建议吗? – 2012-03-24 19:17:49