xit*_*ted 3 javascript csv blob filereader internet-explorer-11
我使用这篇文章使用JavaScript读取CSV文件.以下代码在Chrome和Firefox中运行良好,但IE 11会引发以下错误:
Object doesn't support property or method 'readAsBinaryString'
Run Code Online (Sandbox Code Playgroud)
打电话时:
reader.readAsBinaryString(blob);
Run Code Online (Sandbox Code Playgroud)
但是,根据这篇 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>
Run Code Online (Sandbox Code Playgroud)
JS代码:
//read a file
function readBlob() {
var files = document.getElementById('files').files;
if (!files.length) {
alert('Please select a file!');
return;
}
var file = files[0];
var start = 0;
var stop = file.size - 1;
var reader = new FileReader();
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
makeJSON(evt.target.result);
}
};
var blob = file.slice(start, stop + 1);
reader.readAsBinaryString(blob);
Run Code Online (Sandbox Code Playgroud)
}
FileReader还支持readAsText方法,该方法可用于将文件或Blob对象作为文本字符串读取到所有三个浏览器(Chrome,FF和IE11)中.
更换reader.readAsBinaryString(blob)有reader.readAsText(blob)固定的问题.
| 归档时间: |
|
| 查看次数: |
6909 次 |
| 最近记录: |