5

iOS6 の Google Chrome で xmlhttprequest ファイルのアップロード進行状況イベントに問題があります。コードは、すべてのデスクトップ ブラウザーと Safari (ios 6) で既に動作します。また、Google Chrome (ios 6) で mov ファイルをアップロードする際に問題があり、アップロードしようとするとファイル サイズ = 0 になります。解決策はありますか?

これは私のコードの一部です

var xhr = new XMLHttpRequest();
var eventSource = xhr.upload;

xhr.addEventListener("load", this.onUploadComplete(uploadInfo));
xhr.addEventListener("error", this.onUploadError(uploadInfo));
xhr.addEventListener("abort", this.onUploadAbort(uploadInfo));

// changing Url  for preventing ajax call caching( Android , IOS 6)
var ts = Date.now(), rquery = /\?/, rts = /([?&])_=[^&]*/,
ret = uploadUrl.replace( rts, "$1_=" + ts );
uploadUrl = ret + ( ( ret === uploadUrl ) ? ( rquery.test( uploadUrl ) ? "&" : "?" ) + "_=" + ts : "" );

xhr.open('POST', uploadUrl, true);  
eventSource.onprogress = this.onUploadProgress(uploadInfo);
xhr.setRequestHeader("Content-Type", "multipart/form-data");

xhr.setRequestHeader('X-FILE-NAME', file.name);
xhr.send(file);
4

2 に答える 2

4

これは iOS 上の Chrome の既知のバグであり、進行状況の更新をサポートしていません。詳細はこちら: https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

また、バグを公式のバグトラッカーに報告しました。最新の更新はこちらで確認できます。

UPDATE 2016: 修正されました!

于 2013-09-02T23:25:37.683 に答える
0

Plupload を使用して同じ問題に遭遇しました。ただし、ユーザーが複数のファイルを選択できるようにした場合にのみ発生しました。この機能をオフにすると、Chrome はファイルを正しくアップロードします。

複数のファイルのアップロードも可能にする問題の解決策は見つかりませんでした。

于 2013-01-16T22:27:48.903 に答える