3

fetch API ( https://fetch.spec.whatwg.org/ )を使用して arrayBuffer を直接フェッチしたい。データが返されたら、配列バッファーを使用したいと思います。

arrayBuffer() が機能する場合と機能しない場合があるようです。動作しないということは、空の配列が返される場合があるということです。ほとんどの場合、うまくいきません。

fetch(url).then(function(response) {
      response.arrayBuffer().then(function(buffer){
            results[i] = buffer;
        });
});

blob() を呼び出して FileReader 経由で配列バッファーに変換すると、常に機能します。

fetch(url).then(function(response) {
      response.blob().then(function(buffer){
            results[i] = buffer;
        });
});

...

var myReader = new FileReader();
myReader.addEventListener("loadend", function(e){
    // ALWAYS GOOD
    var byteArray = new Uint8Array(e.srcElement.result);
});

myReader.readAsArrayBuffer(results[0]);

ライブデモ: http://codepen.io/nicolasrannou/pen/OVLyjX

私は何か間違ったことをしていますか、それともバグですか?

ありがとう、ニコラス

4

0 に答える 0