2

我想知道如何使用 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
}
4

1 回答 1

7

试试xhr.upload.onprogress。在 XMLHttpRequest2 规范中,XMLHttpRequest 具有上传属性。

注册进度事件的能力。下载(将侦听器放在 XMLHttpRequest 对象本身上)和上传(将侦听器放在 XMLHttpRequestUpload 对象上,由上传属性返回)。 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#differences

于 2011-09-14T01:10:25.357 回答