@iimm/shared
Version:
shared utils on browser and react env
54 lines (52 loc) • 1.46 kB
JavaScript
/** 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('');
};
});
};