我想使用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
我做错了什么还是错误?
谢谢, 尼古拉斯