首页 > 解决方案 > 在文件返回类型的 MVC 操作中,文件下载在大约 1 分钟后停止

问题描述

我正在使用MVC 5.0并且我得到了一个将数据下载为CSV文件的操作。当网站发布时,如果结果文件大小大于9 Mb,文件下载过程将在浏览器中停止。什么也没有发生。浏览器部分没有控制台或网络错误inspect element。也不例外。

此外,在local system这个动作正常工作的情况下,我得到了另一个动作export an excel file,不幸的是,它在相同的场景中遇到了同样的问题。这个错误是否相关IIS

我修改了 web.config 中的“maxRequestLength”,它设置为99999但没有用

mvc动作返回部分:

return File(fileByteArray, "application/csv", ReportFileName);
            

JS方法:

 function DownloadCSV(formName, url) {
var formSelector = 'form[name=' + formName + ']';
var params = $(formSelector).serializeFormToUri();
window.location = url + params;

}

$.fn.serializeFormToUri = function () {

    var form = this;
    var data = serializeForm(form);

    var uri = '?';

    $.each(data, function (index, item) {
        if(index !== 0)
            uri = uri + '&';
        uri = uri + item.name + '=' + item.value;
    });
    return uri;
};

标签: c#asp.net-mvcexport-to-csv

解决方案


经过这么多研究,我们发现我们的WAF(Web应用程序防火墙)有一些限制,不允许从服务器下载大文件。


推荐阅读