UNPKG

oss-upload-browser

Version:
87 lines (72 loc) 2.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _fileMd = require("./file-md5"); var OSS = require('ali-oss'); var ossClient; //小文件上传 var put_upload = function put_upload(_ossConfig, _resolve) { ossClient.put("".concat(_ossConfig.folder, "/").concat(_ossConfig.filename), _ossConfig.fileObj).then(function (uploadResponse) { if (uploadResponse.res.status === 200) { _resolve({ status: 200, data: uploadResponse.url.replace(/http:/, "https:") }); } else { _resolve({ status: 400, data: '' }); } ; }); }; // 大文件分片上传 var multipart_upload = function multipart_upload(_ossConfig, _resolve) { ossClient.multipartUpload("".concat(_ossConfig.folder, "/").concat(_ossConfig.filename), _ossConfig.fileObj, { progress: function progress(p) { _resolve({ status: 300, data: p * 100 }); }, partSize: 5 * 1024 * 1024 }).then(function (uploadResponse) { if (uploadResponse.res.status === 200) { _resolve({ status: 200, data: "".concat(_ossConfig.bucket).concat(uploadResponse.name) }); } else { _resolve({ status: 400, data: '' }); } }); }; // 传入oss配置、oss bucket、oss目标文件夹、File对象 var ossUpload = function ossUpload(inputObj) { return new Promise(function (resolve) { var ossConfig = { bucket: "https://".concat(inputObj.license.bucket, ".").concat(inputObj.license.region, ".aliyuncs.com"), folder: inputObj.folder, fileObj: inputObj.fileObj }; try { ossClient = new OSS(inputObj.license); } catch (err) { console.error("Error: oss init file,please check your oss config"); } // 将文件的MD5值设为文件名 (0, _fileMd.fileMd5)(inputObj.fileObj, function (err, md5Result) { try { if (err) throw err; ossConfig['filename'] = "".concat(md5Result, ".").concat(inputObj.hasOwnProperty('extension') && inputObj.extension ? inputObj.extension : inputObj.fileObj.type.slice(inputObj.fileObj.type.search(/\//) + 1)); // 根据文件大小选择上传方式 inputObj.fileObj.size < 20 * 1024 * 1024 ? put_upload(ossConfig, resolve) : multipart_upload(ossConfig, resolve); } catch (err) { console.error(err); } }); }); }; var _default = ossUpload; exports["default"] = _default;