【发布时间】:2021-06-21 08:45:39
【问题描述】:
我有一个文件上传页面,允许上传多个文件。
当我在连接良好的情况下使用它时,它工作正常:对于每个单独的文件,我的控制器操作都会被调用,Request.Files 确实包含一个文件。
但是,当我使用开发工具(GPRS 速度)模拟不良连接时,当调用我的控制器操作时,Request.Files 为空。
我也尝试了中等连接 (3G),我得到了两者的混合:两个文件已成功上传,我确实在 Request.Files 中为每个文件创建了一个文件,而另外两个文件以 @987654324 失败@ 为空。
这是正常行为吗?我想知道的是我的代码是否有问题,或者我是否在浪费时间尝试修复无法避免的问题。
我看到的关于这个问题的所有问题都表明我应该为表单的enctype 属性指定multipart/form-data,但这不是我的问题的解决方案,因为它在良好的连接下工作得很好。
谢谢。
编辑:
@Gunnarhawk,这就是我执行 AJAX 调用的方式:
return $.ajax({
url: '@Url.Action("GetUploadedFileList", "Process", new { claimId = @claimId })',
method: 'POST',
contentType: "application/json; charset=utf-8",
dataType: 'html',
cache: false,
data: dataJson, // Object as JSON text
processData: false,
traditional: true,
success: function (response) {
// Stuff...
},
error: function () {
// Stuff...
}
});
【问题讨论】:
-
请求不通过时得到什么状态码,会不会超时?另外,您说这可能是您的代码有问题。可以发一下吗?
-
@Gunnarhawk 好吧,看起来 in 没有返回任何代码。尽管查询确实有持续时间和开始/结束时间,但开发人员工具不指示任何代码,而那些有效的代码为 200。不幸的是,我无法发布我的整个代码,因为它是一个与信用卡相关的网站,但我想我可以发布一部分 JS,因为它可以从浏览器中看到。
标签: javascript c# asp.net ajax asp.net-mvc