对象不支持“readAsBinaryString”属性怎么办
1、readAsBinaryString 方法会读取指定的 Blob 或 File 对象,当读取完成的时候,readyState 会变成已完成(DONE),并触发 loadend 事件,同时 result 属性将包含所读取文件原始二进制格式。
注意:从 2012 年 7 月 12 日起,该方法已从 W3C 工作草案废除。

2、其语法和参数如下图所示:

3、下面是其一个示例代码,如下图所示:

4、规范
该方法已从 FileAPI 标准移除,请使用 FileReader.readAsArrayBuffer() 代替。

5、关于在浏览器中的兼容性如下图所示:

1、var reader = new FileReader();
reader.readAsBinaryString(fileData);
reader.onload = function(e) {
if (reader.result) reader.content = reader.result;
var base64Data = btoa(reader.content);
//...
}
//extend FileReader
if (!FileReader.prototype.readAsBinaryString) {
FileReader.prototype.readAsBinaryString = function (fileData) {
var binary = "";
var pt = this;
var reader = new FileReader();
reader.onload = function (e) {
var bytes = new Uint8Array(reader.result);
var length = bytes.byteLength;
for (var i = 0; i < length; i++) {
binary += String.fromCharCode(bytes[i]);
}
//pt.result - readonly so assign binary
pt.content = binary;
$(pt).trigger('onload');
}
reader.readAsArrayBuffer(fileData);
}
}

2、大家可以通过以上两种方法,选择其中一种进行解决。