Javascript 阅读IE11中的blob

Javascript 阅读IE11中的blob,javascript,csv,blob,internet-explorer-11,filereader,Javascript,Csv,Blob,Internet Explorer 11,Filereader,我用这篇文章阅读了一个使用JavaScript的CSV文件。下面的代码在Chrome和Firefox中运行良好,但IE 11抛出以下错误: Object doesn't support property or method 'readAsBinaryString' 打电话时: reader.readAsBinaryString(blob); 然而,根据MSDN的文章,readAsBinaryString是FileReader支持的一种方法。我是否遗漏了一些东西/在IE 11中是否有其他读取文

我用这篇文章阅读了一个使用JavaScript的CSV文件。下面的代码在Chrome和Firefox中运行良好,但IE 11抛出以下错误:

Object doesn't support property or method 'readAsBinaryString'
打电话时:

reader.readAsBinaryString(blob);
然而,根据MSDN的文章,
readAsBinaryString
FileReader
支持的一种方法。我是否遗漏了一些东西/在IE 11中是否有其他读取文件的方法

HTML代码:

<table>
    <tr>
        <td>Import CSV File</td>
        <td><input type="file" id="files" name="file"/></td>
    </tr>
</table>       
<button id="read" href="#">Read</button>

}

也许你可以用这个:

var binary = "";
var bytes = new Uint8Array(buffer);
var length = bytes.byteLength;
for (var i = 0; i < length; i++) {
  binary += String.fromCharCode(bytes[i]);
}
var binary=”“;
var字节=新的Uint8Array(缓冲区);
var长度=字节。字节长度;
对于(变量i=0;i

参考资料:

FileReader
还支持
readAsText
方法,该方法可用于将文件或Blob对象作为文本字符串跨所有三种浏览器(Chrome、FF和IE11)读入内存

reader.readAsBinaryString(blob)
替换为
reader.readAsText(blob)
修复了该问题

var binary = "";
var bytes = new Uint8Array(buffer);
var length = bytes.byteLength;
for (var i = 0; i < length; i++) {
  binary += String.fromCharCode(bytes[i]);
}