agora-edu-core
Version:
Core APIs for building an online classroom
32 lines (31 loc) • 1.06 kB
JavaScript
;
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;