UNPKG

@iimm/shared

Version:

shared utils on browser and react env

54 lines (52 loc) 1.46 kB
/** File转Base64 */ export var fileToBase64 = function fileToBase64(file) { return new Promise(function (resolve, reject) { var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function () { resolve(reader.result); }; reader.onerror = function (e) { reject(e); }; }); }; export var fileToArrayBuffer = function fileToArrayBuffer(file) { return new Promise(function (resolve, reject) { var reader = new FileReader(); reader.readAsArrayBuffer(file); reader.onload = function () { resolve(reader.result); }; reader.onerror = function () { reject(reader.error); }; }); }; /** 件读取为二进制字符串 */ export var fileToBinaryString = function fileToBinaryString(file) { return new Promise(function (resolve) { var reader = new FileReader(); reader.readAsBinaryString(file); reader.onload = function () { resolve(reader.result); }; reader.onerror = function () { resolve(''); }; }); }; /** 文件读取为Text */ export var fileToText = function fileToText(file) { var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'utf-8'; return new Promise(function (resolve) { var reader = new FileReader(); reader.readAsText(file, encoding); reader.onload = function () { resolve(reader.result); }; reader.onerror = function () { resolve(''); }; }); };