js自建readAsBinaryString方法,ie11不支持“readAsBinaryString”属性或方法兼容

670 阅读1分钟

兼容ie11报错,对象不支持“readAsBinaryString”属性或方法


vue项目可以直接在main.js加入下方代码

if (typeof(FileReader.prototype.readAsBinaryString) !== "function") {
    FileReader.prototype.readAsBinaryString = function (fileData) {
        let binary = "";
        let pt = this;
        let reader = new FileReader();
        reader.onload = function (e) {
            let bytes = new Uint8Array(reader.result);
            let length = bytes.byteLength;
            for (let i = 0; i < length; i++) {
                binary += String.fromCharCode(bytes[i]);
            }
            let obj = {};
            obj.target = {result: binary};
            pt.onload(obj);
        }
        reader.readAsArrayBuffer(fileData);
    }
}