c# - 在文件返回类型的 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;
};
解决方案
经过这么多研究,我们发现我们的WAF(Web应用程序防火墙)有一些限制,不允许从服务器下载大文件。
推荐阅读
- javascript - 使用contact form7插件预览上传图片
- r - 在 DataTable 中使用 DropDown 更新 DataTable
- python - Sklearn Pipeline:在 ColumnTransformer 之后获取特征名称的最终列表,然后是来自 Pipeline 的 SelectFromModel
- ruby-on-rails - Rails + Sidekiq:Redis 被重置为空状态(sidekiq 历史丢失)
- javascript - Vue 路由器仅适用于页面重新加载
- arrays - 使用 jq,如何在不更新所有其他对象的情况下将元素附加到数组?
- html - 在颤动中从标签中获取数据
- bash - BASH 脚本不解释逻辑 Not in glob 表达式
- typescript - 在打字稿中输入对象叶子的更好方法
- webpack - css 文件缺少样式标记