2016-12-01 17 views
0

エラーを返すjavascript Filereaderに問題がありますUncaught TypeError: 'FileReader'で 'readAsDataURL' :パラメータ1の型が 'Blob'ではありません。ここで'FileReader'で 'readAsArrayBuffer'を実行できませんでした:パラメータ1のタイプが 'Blob'ではありません

はjavascriptのだ:

    var blob = null; 
        var xhr = new XMLHttpRequest(); 
        xhr.open("GET", "C:\\Users\\yw1kew\\Desktop\\LG_FRAME.plmx"); 
        xhr.responseType = "blob";//force the HTTP response, response-type header to be blob 
        xhr.onload = function() 
        { 
         blob = xhr.response;//xhr.response is now a blob object 
        } 
        xhr.send(); 
        var myReader = new FileReader(); 
        myReader.readAsArrayBuffer(blob) // THE CODE FAILS HERE 

任意のアイデア?おかげで私は、プラットフォームとしてのSharePointを使用して、私はこのようなバイナリコードを変換するために必要な私の場合は

+0

することの使用が原因である可能性がありローカルファイルパスは、Webサーバー上で試してみてください。またあなたはそれを間違った方法で読んでいる[この(http://stackoverflow.com/questions/32215538/using-filereader-readasarraybuffer-on-changed-files-in-firefox ) – Viney

+0

このリクエストは非同期なので、 'blob = xhr.response;'行は非常に可能性があります_after _行 'myReader.readAsArrayBuffer(BLOB);'。その時点で 'blob'が' null'に評価されているので、エラーが発生します。 'onload'関数でFileReader操作を動かすことで修正できます。 – Soravux

答えて

0

binaryDecode = function (data) { 
    var ret = ''; 
    if (data) { 
     var byteArray = new Uint8Array(data); 
     for (var i = 0; i < data.byteLength; i++) { 
      ret = ret + String.fromCharCode(byteArray[i]); 
     } 
    } 
    return ret; 
}; 

次に、このようにそれを使用します。

console.log(binaryDecode(arrayBuffer)); 
関連する問題