【发布时间】:2023-03-04 19:35:01
【问题描述】:
我遇到了一个 javascript Filereader 的问题,它返回错误 Uncaught TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type '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
有什么想法吗?谢谢
【问题讨论】:
-
可能是由于使用了本地文件路径,请在网络服务器上尝试。另外你读错了见this
-
这个请求是异步的,所以
blob = xhr.response;这行很可能会被执行之后行`myReader.readAsArrayBuffer(blob);. The error happens becauseblob`仍然计算为null在那一刻。您可以通过在onload函数中移动 FileReader 操作来修复它。
标签: javascript angularjs xmlhttprequest blob filereader