下载大文件不起作用

时间:2015-09-27 17:41:55

标签: asp.net-mvc

您好,我尝试下载大于10M但未下载文件的文件

只有pdf文件是opend和其他扩展名(下载0字节)

这是我的代码

public ActionResult DownloadFile(string fileName)
        {
            string path = Path.Combine(Server.MapPath("~/Files/PageItem/"), fileName); 

            byte[] fileBytes = new byte[0];

            if (System.IO.File.Exists(path))
            {
                fileBytes = System.IO.File.ReadAllBytes(path);
            }

            return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);

        }

这是我的Webconfig文件

 <system.web>
    <customErrors mode="Off" />
    <compilation targetFramework="4.5" debug="true"/>
    <httpRuntime targetFramework="4.5" maxRequestLength="1048576" executionTimeout="3600"/>
  </system.web>

请注意,我检查了服务器上传的文件,它们的大小和格式正确 我是怎么了 ??? 以及为什么只打开大型pdf文件而没有其他扩展名

1 个答案:

答案 0 :(得分:0)

默认情况下,IIS文件大小限制为4MB。 尝试将此添加到您的web.config(允许20MB文件的示例)

 <security>
<requestFiltering>
    <requestLimits maxAllowedContentLength="20971520" />
</requestFiltering>
  </security>

edit1:您也可以检查请求长度大小

 <configuration>
    <system.web>
         <httpRuntime executionTimeout="110" maxRequestLength="20000" />
    </system.web>
</configuration>