2011-09-14 29 views
2

我在想如何使用XMLHTTPRequest獲取文件上傳的進度。在Firefox中,onprogress方法根本不會觸發,在Chrome中它只會在文件上傳完成後觸發。如何在上傳文件時獲得進展VIA XMLHttpRequest

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 
} 

回答

7

嘗試xhr.upload.onprogress。在XMLHttpRequest2規範中,XMLHttpRequest具有上傳屬性。

註冊進度事件的能力。對於下載(將 偵聽器放在XMLHttpRequest對象本身上)和上傳(將 偵聽器放在XMLHttpRequestUpload對象上,由上傳 屬性返回)。 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#differences

相關問題