2012-02-09 2 views
4

アップロード後にajaxでファイルをアップロードして画像を処理しています。 Firefoxでajax経由でイメージファイルをアップロードしようとしたとき、アップロード率が100%でファイルが正常にアップロードされていたときに、進捗状況が表示されないxhr progressイベント。Html5 ajaxファイルアップロードの進行状況リスナーがFirefoxで100%アップロードするときにトリガーしない

Google Chromeの起動時にアップロードが進行するが、Firefoxは起動しません。

Biriefly私のアップロードのスクリプト:

$("#uploadbutton").click(function(){ 
    var xhr=new XMLHttpRequest() 
    ,fd=new FormData(); 

    xhr.upload.addEventListener("loadstart", uploadStart, false); 
    xhr.upload.addEventListener("progress", uploadProgress, false); 
    xhr.addEventListener("error", uploadFailed, false); 

    xhr.open("POST", mainurl+"ajaxupload.php"); 

    $.each($("#upload_input").files,function(i,file){ 
    fd.append("files_"+i,file); 
    });  

    xhr.send(fd); 

}); 

function uploadProgress(event){ 
    var percentComplete = Math.round(event.loaded * 100/event.total); 
    console.log("pecent ",percentComplete); 
} 

アップロード開始、1回runnig uploadprogressの機能は、(主にアップロードパーセント80%)ではなく、whenがアップロードfnishをトリガします。

答えて

2

現在のハンドラに加えて、load(正常終了時に起動します)、loadend(いつでも最後に起動します)。

// zero or once 
xhr.addEventListener("load", uploadSuccess, false); 
function uploadSuccess(event) { 
    console.log("Upload successful."); 
} 

// once 
xhr.addEventListener("loadend", uploadComplete, false); 
function uploadComplete(event) { 
    console.log("All done."); 
} 
+0

私はロードリスナーをxhrに追加していますが、リスナー機能をトリガーしていません。 –

+0

あなたのポストに "load"リスナーが表示されません... –

+0

あなたがsay.At [load](http://dvcs.w3.org/hg/progress/raw-file)の後に "load"リスナーを試しました。 /tip/Overview.html#suggested-names-for-events-using-the-progressevent-interface)使用法 "load"リスナーは "ゼロまたは1回"を実行します。 –

関連する問題