我遇到了一个javascript Filereader的问题,它返回错误Uncaught TypeError:无法在'FileReader'上执行'readAsDataURL':参数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
有什么想法吗?感谢
答案 0 :(得分:0)
在我的情况下,我使用SharePoint作为平台,我需要像这样转换二进制代码:
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));
答案 1 :(得分:0)
我只是遇到了同样的问题,在网上搜索了几个小时的解决方案后,我意识到我也许可以使用fetch,它确实可以工作!
fetch("./file.bin")
.then((data) => {
return data.arrayBuffer();
})
.then((array) => {
console.log(buffer);
})
.catch((error) => {
console.log(error);
});