我想知道如何使用XMLHTTPRequest获取文件上传的进度。在Firefox中,onprogress方法根本不会触发,而在chrome中,它只会在文件上传完成后触发。
function fileUpload(file)
{
var formData = new FormData();
formData.append('file', file);
var xhr = new XMLHttpRequest();
xhr.onprogress = function(e)
{
alert('progress');
};
xhr.open('POST', 'post.php', true);
xhr.send(formData); // multipart/form-data
}
答案 0 :(得分:7)
试试xhr.upload.onprogress
。在XMLHttpRequest2规范中,XMLHttpRequest具有上传属性。
注册进度事件的能力。两者都用于下载(放 XMLHttpRequest对象本身的监听器)和上传(put 上传返回的XMLHttpRequestUpload对象上的侦听器 属性)。 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#differences