我创建了一个应用程序来上传图片以进行进一步处理。一切正常,除了上传进度条。
function upload (fData) {
$.ajax({
url: '@Url.Action("UploadFile", "Home")',
type: 'POST',
mimeType: 'multipart/form-data',
headers: { '__RequestVerificationToken': $("input[name=__RequestVerificationToken]").val() },
data: fData,
contentType: false,
processData: false,
xhr: function () {
var xhr = $.ajaxSettings.xhr();
xhr.upload.onprogress = function (evt) {
uploadProgress = evt.loaded / evt.total * 100;
$(bar).css('width', uploadProgress + '%');complete');
};
return xhr;
}
})
实际上,如果我使用 chrome 节流功能,进度计算工作正常。上传完成后,服务器会做一些工作并返回响应。一切都按预期工作。
不限制上传立即完成......至少它似乎立即完成。我可以使用wireshark 跟踪上传或简单地调试服务器代码。数据不存在,但加载的值立即 =总值。我使用 Edge 有相同的行为。
我认为同样的问题,但这里描述了不同的设置。