UNPKG

agora-edu-core

Version:

Core APIs for building an online classroom

32 lines (31 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudDriveUtils = void 0; var _jsMd = _interopRequireDefault(require("js-md5")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class CloudDriveUtils { static calcResourceUuid(file) { if (file instanceof File) { return new Promise((resolve, reject) => { const fileReader = new FileReader(); fileReader.readAsArrayBuffer(file); //计算文件md5 fileReader.onload = evt => { if (evt.target && evt.target.result) { // TODO why MD5 twice? const md5Str = (0, _jsMd.default)(evt.target.result); return resolve(md5Str); } reject(new Error('unknown error: no result in filereader')); }; fileReader.onerror = () => { reject(new Error(`Error reading ${file.name}`)); }; }); } else { return Promise.resolve((0, _jsMd.default)(file)); } } } exports.CloudDriveUtils = CloudDriveUtils;