读取base64图片File
file2Base64Image(file, cb) {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function (e) {
cb && cb(e.target.result);//即为base64结果
};
},
读取text、JSON文件File
readText(file, { onloadend } = {}) {
const reader = new FileReader();
reader.onloadend = function (e) {
onloadend && onloadend(reader.result, e);
};
reader.readAsText(file);
},
读取分段Blob文件File(ArrayBuffer)
FileReader.readAsArrayBuffer() - Web API 接口参考 | MDNFileReader 接口提供的 readAsArrayBuffer() 方法用于启动读取指定的 Blob 或 File 内容。当读取操作完成时,readyState 变成 DONE(已完成),并触发 loadend 事件,同时 result 属性中将包含一个 ArrayBuffer 对象以表示所读取文件的数据。https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/readAsArrayBuffer
readArrayBuffer(file, { onloadstart, onprogress, onload } = {}) {
const reader = new FileReader();
// 开始读取
reader.onloadstart = function (e) {
onloadstart && onloadstart(e);
};
// 正在加载
reader.onprogress = function (p) {
onprogress && (parseFloat(p.loaded / file.size).toFixed(2));
};
// 加载完成
reader.onload = function (e) {
if (reader.error) { return; }
let buffer = new Uint8Array(reader.result);
onload && onload(reader.result, buffer, e);
};
reader.readAsArrayBuffer(file);
},