0

こんにちは私はJSHTML5File APIを使用して、サーバーへのファイルのアップロードを処理しています。

Auroraで次のエラーが発生します(Fire Fox Bleeding edgeビルド)

NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMFileReader.readAsBinaryString]

function readBlob(opt_startByte, opt_stopByte,file,partNo) {

    var start = parseInt(opt_startByte);
    var stop = parseInt(opt_stopByte);
    var reader = new FileReader();

    var totalParts = parseInt(file.size/MAX_READ);
    if((file.size % MAX_READ) !== 0){
        totalParts++;
    }
    // If we use onloadend, we need to check the readyState.
    reader.onloadend = function(evt) {
        if (evt.target.readyState == FileReader.DONE) {
            //var contents =  reader.result;
            postFilePart(partNo,contents,totalParts,escape(file.name))// DONE == 2
        }
    };
    if (file.webkitSlice) {
        var blob = file.webkitSlice(start, stop);
    } else if (file.mozSlice) {
        var blob = file.mozSlice(start, stop);
    }
    reader.readAsBinaryString(blob);
}

この行でエラーが発生しています

reader.readAsBinaryString(blob);

mozSliceとSliceを試しました

if (file.mozSlice) { var blob = file.mozSlice(start, stop); }

そしてそれは私に同じ結果を与えました。HTML 5 APIを使用することは、他のブラウザでも問題を引き起こす可能性があるため、まだ最善のアイデアではない可能性があります。

誰かが同じ機能を取得するための回避策を持っていますか、またはこの特定のエラーを解決する方法はありますか

4

1 に答える 1

0

呼び出し元のメソッドの間違いが原因で、誤ったパラメーターを使用してリーダーコードを再実行していたという問題を解決しました

https://bugzilla.mozilla.org/show_bug.cgi?id=725289

むしろスライス対mozSliceを使用してください

于 2012-07-24T10:59:17.570 に答える