Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript XHR上传进度从开始到结束为100%_Javascript_File Upload_Xmlhttprequest - Fatal编程技术网

Javascript XHR上传进度从开始到结束为100%

Javascript XHR上传进度从开始到结束为100%,javascript,file-upload,xmlhttprequest,Javascript,File Upload,Xmlhttprequest,我正在使用XMLHttpRequest将文件上载到Node.JS服务器。我需要监控进度,但我几乎在启动上传后立即收到100%的回复!但我在谷歌浏览器的网络标签中看到上传正在进行中。我想问题在于CORS。有人知道如何解决这个问题吗 关于堆栈溢出有几个这样的问题,但这些问题的答案根本不能解决我的问题。也不能解决我的问题 我的代码的简化版本: 函数上载文件(文件、标题、端点){ const xhr=new XMLHttpRequest(); const formData=new formData();

我正在使用
XMLHttpRequest
将文件上载到Node.JS服务器。我需要监控进度,但我几乎在启动上传后立即收到100%的回复!但我在谷歌浏览器的网络标签中看到上传正在进行中。我想问题在于CORS。有人知道如何解决这个问题吗

关于堆栈溢出有几个这样的问题,但这些问题的答案根本不能解决我的问题。也不能解决我的问题

我的代码的简化版本:

函数上载文件(文件、标题、端点){
const xhr=new XMLHttpRequest();
const formData=new formData();
append('file',file.slice(),file.name);
xhr.open('POST',端点,true);
Object.entries(headers.forEach)([header,value])=>{
setRequestHeader(头,值);
});
addEventListener('progress',({loaded,total,lengthComputeable})=>{
if(长度可计算){
控制台日志(已加载/总计*100);
}
});
xhr.send(formData);
}
我从服务器(JSON)收到这样的响应:

{
“缩进尺寸”:“4”,
“缩进字符”:“,
“最大保留新行”:“5”,
“保留新词”:对,
“大括号样式”:“折叠”,
“空间在条件之前”:true,
“unescape_字符串”:false,
“jslint_happy”:错,
“以新行结尾”:false,
“换行长度”:“0”
}

这是否回答了您的问题@不幸的是,没有。我在StackOverflow和其他论坛上探讨了所有这些问题。没有找到答案,甚至没有提示。你上传的文件有多大?我在localhost上对您的代码进行了逐字测试,选择了一个77MB的文件,并从
8.17…
开始获得了十几行日志。这意味着您的代码可能工作正常,但并不像您期望的那样。@ChrisG上次我在有5.5MB的文件上测试它时。我得到了“3”和“100”,在“网络”中看到它仍在上传。这个问题是由Node.JS服务器引起的吗?有可能,是的;服务器作为响应发送回什么?