@bedelightful/upload-sdk 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +8 -0
- package/README.md +132 -0
- package/dist/es/Exception/BaseException.js +14 -0
- package/dist/es/Exception/BaseException.js.map +1 -0
- package/dist/es/Exception/DownloadException.js +40 -0
- package/dist/es/Exception/DownloadException.js.map +1 -0
- package/dist/es/Exception/HttpException.js +50 -0
- package/dist/es/Exception/HttpException.js.map +1 -0
- package/dist/es/Exception/InitException.js +49 -0
- package/dist/es/Exception/InitException.js.map +1 -0
- package/dist/es/Exception/UploadException.js +50 -0
- package/dist/es/Exception/UploadException.js.map +1 -0
- package/dist/es/index.d.ts +867 -0
- package/dist/es/index.js +162 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/modules/Kodo/defaultUpload.js +38 -0
- package/dist/es/modules/Kodo/defaultUpload.js.map +1 -0
- package/dist/es/modules/Kodo/index.js +8 -0
- package/dist/es/modules/Kodo/index.js.map +1 -0
- package/dist/es/modules/Local/index.js +31 -0
- package/dist/es/modules/Local/index.js.map +1 -0
- package/dist/es/modules/MinIO/MultipartUpload.js +335 -0
- package/dist/es/modules/MinIO/MultipartUpload.js.map +1 -0
- package/dist/es/modules/MinIO/STSUpload.js +10 -0
- package/dist/es/modules/MinIO/STSUpload.js.map +1 -0
- package/dist/es/modules/MinIO/defaultUpload.js +124 -0
- package/dist/es/modules/MinIO/defaultUpload.js.map +1 -0
- package/dist/es/modules/MinIO/index.js +16 -0
- package/dist/es/modules/MinIO/index.js.map +1 -0
- package/dist/es/modules/OBS/MultipartUpload.js +269 -0
- package/dist/es/modules/OBS/MultipartUpload.js.map +1 -0
- package/dist/es/modules/OBS/STSUpload.js +71 -0
- package/dist/es/modules/OBS/STSUpload.js.map +1 -0
- package/dist/es/modules/OBS/defaultUpload.js +59 -0
- package/dist/es/modules/OBS/defaultUpload.js.map +1 -0
- package/dist/es/modules/OBS/index.js +16 -0
- package/dist/es/modules/OBS/index.js.map +1 -0
- package/dist/es/modules/OBS/utils/index.js +25 -0
- package/dist/es/modules/OBS/utils/index.js.map +1 -0
- package/dist/es/modules/OSS/MultipartUpload.js +232 -0
- package/dist/es/modules/OSS/MultipartUpload.js.map +1 -0
- package/dist/es/modules/OSS/STSUpload.js +48 -0
- package/dist/es/modules/OSS/STSUpload.js.map +1 -0
- package/dist/es/modules/OSS/defaultUpload.js +53 -0
- package/dist/es/modules/OSS/defaultUpload.js.map +1 -0
- package/dist/es/modules/OSS/index.js +16 -0
- package/dist/es/modules/OSS/index.js.map +1 -0
- package/dist/es/modules/OSS/utils/helper.js +137 -0
- package/dist/es/modules/OSS/utils/helper.js.map +1 -0
- package/dist/es/modules/OSS/utils/signature.js +96 -0
- package/dist/es/modules/OSS/utils/signature.js.map +1 -0
- package/dist/es/modules/TOS/MultipartUpload.js +288 -0
- package/dist/es/modules/TOS/MultipartUpload.js.map +1 -0
- package/dist/es/modules/TOS/STSUpload.js +92 -0
- package/dist/es/modules/TOS/STSUpload.js.map +1 -0
- package/dist/es/modules/TOS/defaultUpload.js +65 -0
- package/dist/es/modules/TOS/defaultUpload.js.map +1 -0
- package/dist/es/modules/TOS/index.js +16 -0
- package/dist/es/modules/TOS/index.js.map +1 -0
- package/dist/es/modules/TOS/utils/TosClientError.js +15 -0
- package/dist/es/modules/TOS/utils/TosClientError.js.map +1 -0
- package/dist/es/modules/TOS/utils/index.js +38 -0
- package/dist/es/modules/TOS/utils/index.js.map +1 -0
- package/dist/es/modules/TOS/utils/signatureV4.js +269 -0
- package/dist/es/modules/TOS/utils/signatureV4.js.map +1 -0
- package/dist/es/modules/TOS/utils/signatureV4Credentials.js +21 -0
- package/dist/es/modules/TOS/utils/signatureV4Credentials.js.map +1 -0
- package/dist/es/modules/TOS/utils/universal/crypto.browser.js +56 -0
- package/dist/es/modules/TOS/utils/universal/crypto.browser.js.map +1 -0
- package/dist/es/modules/TOS/utils/utils.js +18 -0
- package/dist/es/modules/TOS/utils/utils.js.map +1 -0
- package/dist/es/modules/index.js +20 -0
- package/dist/es/modules/index.js.map +1 -0
- package/dist/es/types/Kodo.js +1 -0
- package/dist/es/types/Kodo.js.map +1 -0
- package/dist/es/types/Local.js +1 -0
- package/dist/es/types/Local.js.map +1 -0
- package/dist/es/types/MinIO.js +1 -0
- package/dist/es/types/MinIO.js.map +1 -0
- package/dist/es/types/OBS.js +8 -0
- package/dist/es/types/OBS.js.map +1 -0
- package/dist/es/types/OSS.js +1 -0
- package/dist/es/types/OSS.js.map +1 -0
- package/dist/es/types/TOS.js +1 -0
- package/dist/es/types/TOS.js.map +1 -0
- package/dist/es/types/error.js +1 -0
- package/dist/es/types/error.js.map +1 -0
- package/dist/es/types/index.js +13 -0
- package/dist/es/types/index.js.map +1 -0
- package/dist/es/types/log.js +1 -0
- package/dist/es/types/log.js.map +1 -0
- package/dist/es/types/request.js +1 -0
- package/dist/es/types/request.js.map +1 -0
- package/dist/es/utils/EventEmitter.js +32 -0
- package/dist/es/utils/EventEmitter.js.map +1 -0
- package/dist/es/utils/UploadManger.js +276 -0
- package/dist/es/utils/UploadManger.js.map +1 -0
- package/dist/es/utils/UploadTask.js +13 -0
- package/dist/es/utils/UploadTask.js.map +1 -0
- package/dist/es/utils/checkDataFormat.js +41 -0
- package/dist/es/utils/checkDataFormat.js.map +1 -0
- package/dist/es/utils/global.js +83 -0
- package/dist/es/utils/global.js.map +1 -0
- package/dist/es/utils/index.js +20 -0
- package/dist/es/utils/index.js.map +1 -0
- package/dist/es/utils/logPubSub.js +59 -0
- package/dist/es/utils/logPubSub.js.map +1 -0
- package/dist/es/utils/multipart.js +159 -0
- package/dist/es/utils/multipart.js.map +1 -0
- package/dist/es/utils/nanoid.js +10 -0
- package/dist/es/utils/nanoid.js.map +1 -0
- package/dist/es/utils/regExpUtil.js +21 -0
- package/dist/es/utils/regExpUtil.js.map +1 -0
- package/dist/es/utils/request.js +234 -0
- package/dist/es/utils/request.js.map +1 -0
- package/dist/es/utils/response.js +20 -0
- package/dist/es/utils/response.js.map +1 -0
- package/dist/index.d.ts +867 -0
- package/dist/index.js +60913 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +130 -0
- package/dist/index.min.js.map +1 -0
- package/dist/lib/Exception/BaseException.js +37 -0
- package/dist/lib/Exception/BaseException.js.map +1 -0
- package/dist/lib/Exception/DownloadException.js +65 -0
- package/dist/lib/Exception/DownloadException.js.map +1 -0
- package/dist/lib/Exception/HttpException.js +75 -0
- package/dist/lib/Exception/HttpException.js.map +1 -0
- package/dist/lib/Exception/InitException.js +73 -0
- package/dist/lib/Exception/InitException.js.map +1 -0
- package/dist/lib/Exception/UploadException.js +75 -0
- package/dist/lib/Exception/UploadException.js.map +1 -0
- package/dist/lib/index.d.cts +867 -0
- package/dist/lib/index.js +203 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/modules/Kodo/defaultUpload.js +61 -0
- package/dist/lib/modules/Kodo/defaultUpload.js.map +1 -0
- package/dist/lib/modules/Kodo/index.js +28 -0
- package/dist/lib/modules/Kodo/index.js.map +1 -0
- package/dist/lib/modules/Local/index.js +50 -0
- package/dist/lib/modules/Local/index.js.map +1 -0
- package/dist/lib/modules/MinIO/MultipartUpload.js +357 -0
- package/dist/lib/modules/MinIO/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/MinIO/STSUpload.js +33 -0
- package/dist/lib/modules/MinIO/STSUpload.js.map +1 -0
- package/dist/lib/modules/MinIO/defaultUpload.js +158 -0
- package/dist/lib/modules/MinIO/defaultUpload.js.map +1 -0
- package/dist/lib/modules/MinIO/index.js +35 -0
- package/dist/lib/modules/MinIO/index.js.map +1 -0
- package/dist/lib/modules/OBS/MultipartUpload.js +296 -0
- package/dist/lib/modules/OBS/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/OBS/STSUpload.js +104 -0
- package/dist/lib/modules/OBS/STSUpload.js.map +1 -0
- package/dist/lib/modules/OBS/defaultUpload.js +88 -0
- package/dist/lib/modules/OBS/defaultUpload.js.map +1 -0
- package/dist/lib/modules/OBS/index.js +45 -0
- package/dist/lib/modules/OBS/index.js.map +1 -0
- package/dist/lib/modules/OBS/utils/index.js +49 -0
- package/dist/lib/modules/OBS/utils/index.js.map +1 -0
- package/dist/lib/modules/OSS/MultipartUpload.js +259 -0
- package/dist/lib/modules/OSS/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/OSS/STSUpload.js +71 -0
- package/dist/lib/modules/OSS/STSUpload.js.map +1 -0
- package/dist/lib/modules/OSS/defaultUpload.js +76 -0
- package/dist/lib/modules/OSS/defaultUpload.js.map +1 -0
- package/dist/lib/modules/OSS/index.js +35 -0
- package/dist/lib/modules/OSS/index.js.map +1 -0
- package/dist/lib/modules/OSS/utils/helper.js +173 -0
- package/dist/lib/modules/OSS/utils/helper.js.map +1 -0
- package/dist/lib/modules/OSS/utils/signature.js +132 -0
- package/dist/lib/modules/OSS/utils/signature.js.map +1 -0
- package/dist/lib/modules/TOS/MultipartUpload.js +315 -0
- package/dist/lib/modules/TOS/MultipartUpload.js.map +1 -0
- package/dist/lib/modules/TOS/STSUpload.js +125 -0
- package/dist/lib/modules/TOS/STSUpload.js.map +1 -0
- package/dist/lib/modules/TOS/defaultUpload.js +94 -0
- package/dist/lib/modules/TOS/defaultUpload.js.map +1 -0
- package/dist/lib/modules/TOS/index.js +45 -0
- package/dist/lib/modules/TOS/index.js.map +1 -0
- package/dist/lib/modules/TOS/utils/TosClientError.js +34 -0
- package/dist/lib/modules/TOS/utils/TosClientError.js.map +1 -0
- package/dist/lib/modules/TOS/utils/index.js +64 -0
- package/dist/lib/modules/TOS/utils/index.js.map +1 -0
- package/dist/lib/modules/TOS/utils/signatureV4.js +294 -0
- package/dist/lib/modules/TOS/utils/signatureV4.js.map +1 -0
- package/dist/lib/modules/TOS/utils/signatureV4Credentials.js +44 -0
- package/dist/lib/modules/TOS/utils/signatureV4Credentials.js.map +1 -0
- package/dist/lib/modules/TOS/utils/universal/crypto.browser.js +93 -0
- package/dist/lib/modules/TOS/utils/universal/crypto.browser.js.map +1 -0
- package/dist/lib/modules/TOS/utils/utils.js +42 -0
- package/dist/lib/modules/TOS/utils/utils.js.map +1 -0
- package/dist/lib/modules/index.js +50 -0
- package/dist/lib/modules/index.js.map +1 -0
- package/dist/lib/types/Kodo.js +17 -0
- package/dist/lib/types/Kodo.js.map +1 -0
- package/dist/lib/types/Local.js +17 -0
- package/dist/lib/types/Local.js.map +1 -0
- package/dist/lib/types/MinIO.js +17 -0
- package/dist/lib/types/MinIO.js.map +1 -0
- package/dist/lib/types/OBS.js +32 -0
- package/dist/lib/types/OBS.js.map +1 -0
- package/dist/lib/types/OSS.js +17 -0
- package/dist/lib/types/OSS.js.map +1 -0
- package/dist/lib/types/TOS.js +17 -0
- package/dist/lib/types/TOS.js.map +1 -0
- package/dist/lib/types/error.js +17 -0
- package/dist/lib/types/error.js.map +1 -0
- package/dist/lib/types/index.js +37 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/log.js +17 -0
- package/dist/lib/types/log.js.map +1 -0
- package/dist/lib/types/request.js +17 -0
- package/dist/lib/types/request.js.map +1 -0
- package/dist/lib/utils/EventEmitter.js +51 -0
- package/dist/lib/utils/EventEmitter.js.map +1 -0
- package/dist/lib/utils/UploadManger.js +309 -0
- package/dist/lib/utils/UploadManger.js.map +1 -0
- package/dist/lib/utils/UploadTask.js +32 -0
- package/dist/lib/utils/UploadTask.js.map +1 -0
- package/dist/lib/utils/checkDataFormat.js +70 -0
- package/dist/lib/utils/checkDataFormat.js.map +1 -0
- package/dist/lib/utils/global.js +106 -0
- package/dist/lib/utils/global.js.map +1 -0
- package/dist/lib/utils/index.js +44 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/logPubSub.js +78 -0
- package/dist/lib/utils/logPubSub.js.map +1 -0
- package/dist/lib/utils/multipart.js +197 -0
- package/dist/lib/utils/multipart.js.map +1 -0
- package/dist/lib/utils/nanoid.js +33 -0
- package/dist/lib/utils/nanoid.js.map +1 -0
- package/dist/lib/utils/regExpUtil.js +44 -0
- package/dist/lib/utils/regExpUtil.js.map +1 -0
- package/dist/lib/utils/request.js +264 -0
- package/dist/lib/utils/request.js.map +1 -0
- package/dist/lib/utils/response.js +43 -0
- package/dist/lib/utils/response.js.map +1 -0
- package/dist/package.json +120 -0
- package/package.json +120 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var MultipartUpload_exports = {};
|
|
31
|
+
__export(MultipartUpload_exports, {
|
|
32
|
+
MultipartUpload: () => MultipartUpload
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(MultipartUpload_exports);
|
|
35
|
+
var import_mime = __toESM(require("mime"), 1);
|
|
36
|
+
var import_InitException = require("../../Exception/InitException");
|
|
37
|
+
var import_UploadException = require("../../Exception/UploadException");
|
|
38
|
+
var import_helper = require("./utils/helper");
|
|
39
|
+
var import_checkDataFormat = require("../../utils/checkDataFormat");
|
|
40
|
+
var import_multipart = require("../../utils/multipart");
|
|
41
|
+
var import_regExpUtil = require("../../utils/regExpUtil");
|
|
42
|
+
var import_request = require("../../utils/request");
|
|
43
|
+
var import_response = require("../../utils/response");
|
|
44
|
+
var import_STSUpload = require("./STSUpload");
|
|
45
|
+
async function initMultipartUpload(name, params, option) {
|
|
46
|
+
const result = await (0, import_request.request)({
|
|
47
|
+
...(0, import_helper.createRequest)(
|
|
48
|
+
{
|
|
49
|
+
...params,
|
|
50
|
+
method: "POST",
|
|
51
|
+
subRes: "uploads",
|
|
52
|
+
object: name
|
|
53
|
+
},
|
|
54
|
+
option
|
|
55
|
+
),
|
|
56
|
+
xmlResponse: true
|
|
57
|
+
});
|
|
58
|
+
const { data } = result;
|
|
59
|
+
return {
|
|
60
|
+
res: result,
|
|
61
|
+
bucket: data.InitiateMultipartUploadResult.Bucket,
|
|
62
|
+
name: data.InitiateMultipartUploadResult.Key,
|
|
63
|
+
UploadId: data.InitiateMultipartUploadResult.UploadId
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
__name(initMultipartUpload, "initMultipartUpload");
|
|
67
|
+
async function completeMultipartUpload(name, UploadId, parts, params, options) {
|
|
68
|
+
const completeParts = parts.concat().sort((a, b) => a.number - b.number).filter((item, index, arr) => !index || item.number !== arr[index - 1].number);
|
|
69
|
+
let xml = '<?xml version="1.0" encoding="UTF-8"?>\n<CompleteMultipartUpload>\n';
|
|
70
|
+
for (let i = 0; i < completeParts.length; i += 1) {
|
|
71
|
+
const p = completeParts[i];
|
|
72
|
+
xml += "<Part>\n";
|
|
73
|
+
xml += `<PartNumber>${p.number}</PartNumber>
|
|
74
|
+
`;
|
|
75
|
+
xml += `<ETag>${p.etag}</ETag>
|
|
76
|
+
`;
|
|
77
|
+
xml += "</Part>\n";
|
|
78
|
+
}
|
|
79
|
+
xml += "</CompleteMultipartUpload>";
|
|
80
|
+
const opt = { ...options, mime: "xml" };
|
|
81
|
+
opt.headers = (0, import_helper.omit)(opt.headers, ["x-oss-server-side-encryption", "x-oss-storage-class"]);
|
|
82
|
+
const configParams = {
|
|
83
|
+
...params,
|
|
84
|
+
method: "POST",
|
|
85
|
+
subRes: { UploadId },
|
|
86
|
+
content: xml
|
|
87
|
+
};
|
|
88
|
+
const {
|
|
89
|
+
data: { path, platform },
|
|
90
|
+
headers
|
|
91
|
+
} = await (0, import_request.request)({
|
|
92
|
+
...(0, import_helper.createRequest)(configParams, opt)
|
|
93
|
+
});
|
|
94
|
+
if (options.progress) {
|
|
95
|
+
const { partSize } = opt;
|
|
96
|
+
options.progress(100, parts.length * partSize, parts.length * partSize, null);
|
|
97
|
+
}
|
|
98
|
+
return (0, import_response.normalizeSuccessResponse)(path, platform, headers);
|
|
99
|
+
}
|
|
100
|
+
__name(completeMultipartUpload, "completeMultipartUpload");
|
|
101
|
+
async function resumeMultipart(checkpoint, params, options) {
|
|
102
|
+
const { file, fileSize, partSize, UploadId, doneParts, name } = checkpoint;
|
|
103
|
+
const internalDoneParts = doneParts.length > 0 ? [...doneParts] : [];
|
|
104
|
+
const partOffs = (0, import_multipart.divideParts)(fileSize, partSize);
|
|
105
|
+
const numParts = partOffs.length;
|
|
106
|
+
let multipartFinish = false;
|
|
107
|
+
const opt = { ...options, partSize };
|
|
108
|
+
const uploadPartJob = /* @__PURE__ */ __name((partNo) => (
|
|
109
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
110
|
+
new Promise(async (resolve, reject) => {
|
|
111
|
+
try {
|
|
112
|
+
const pi = partOffs[partNo - 1];
|
|
113
|
+
const content = await (0, import_multipart.createBuffer)(file, pi.start, pi.end);
|
|
114
|
+
const data = {
|
|
115
|
+
content,
|
|
116
|
+
size: pi.end - pi.start
|
|
117
|
+
};
|
|
118
|
+
const result = await (0, import_helper.uploadPart)(name, UploadId, partNo, data, params, {
|
|
119
|
+
...opt
|
|
120
|
+
});
|
|
121
|
+
if (!multipartFinish) {
|
|
122
|
+
checkpoint.doneParts.push({
|
|
123
|
+
number: partNo,
|
|
124
|
+
etag: result.etag
|
|
125
|
+
});
|
|
126
|
+
if (options.progress) {
|
|
127
|
+
options.progress(
|
|
128
|
+
doneParts.length / (numParts + 1) * 100,
|
|
129
|
+
doneParts.length * partSize,
|
|
130
|
+
fileSize,
|
|
131
|
+
checkpoint
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
resolve({
|
|
135
|
+
number: partNo,
|
|
136
|
+
etag: result.etag
|
|
137
|
+
});
|
|
138
|
+
} else {
|
|
139
|
+
resolve();
|
|
140
|
+
}
|
|
141
|
+
} catch (err) {
|
|
142
|
+
const tempErr = new Error();
|
|
143
|
+
tempErr.name = err.name;
|
|
144
|
+
tempErr.message = err.message;
|
|
145
|
+
tempErr.stack = err.stack;
|
|
146
|
+
tempErr.partNum = partNo;
|
|
147
|
+
tempErr.status = err.status;
|
|
148
|
+
reject(tempErr);
|
|
149
|
+
}
|
|
150
|
+
})
|
|
151
|
+
), "uploadPartJob");
|
|
152
|
+
const all = Array.from(new Array(numParts), (_, i) => i + 1);
|
|
153
|
+
const done = internalDoneParts.map((p) => p.number);
|
|
154
|
+
const todo = all.filter((p) => done.indexOf(p) < 0);
|
|
155
|
+
const defaultParallel = 5;
|
|
156
|
+
const parallel = opt.parallel || defaultParallel;
|
|
157
|
+
const jobErr = await (0, import_multipart.parallelSend)(
|
|
158
|
+
todo,
|
|
159
|
+
parallel,
|
|
160
|
+
(value) => new Promise((resolve, reject) => {
|
|
161
|
+
uploadPartJob(value).then((result) => {
|
|
162
|
+
if (result) {
|
|
163
|
+
internalDoneParts.push(result);
|
|
164
|
+
}
|
|
165
|
+
resolve();
|
|
166
|
+
}).catch((err) => {
|
|
167
|
+
reject(err);
|
|
168
|
+
});
|
|
169
|
+
})
|
|
170
|
+
);
|
|
171
|
+
multipartFinish = true;
|
|
172
|
+
if (jobErr && jobErr.length > 0) {
|
|
173
|
+
const error = jobErr[0];
|
|
174
|
+
if (error.status === 5001 || error.status === 5002) {
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
throw new import_UploadException.UploadException(
|
|
178
|
+
import_UploadException.UploadExceptionCode.UPLOAD_MULTIPART_ERROR,
|
|
179
|
+
error.message.replace("[Uploader] ", ""),
|
|
180
|
+
error.partNum
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
return completeMultipartUpload(name, UploadId, internalDoneParts, params, opt);
|
|
184
|
+
}
|
|
185
|
+
__name(resumeMultipart, "resumeMultipart");
|
|
186
|
+
const MultipartUpload = /* @__PURE__ */ __name(async (file, key, params, option) => {
|
|
187
|
+
const options = { ...option };
|
|
188
|
+
const { region, bucket, dir, access_key_secret, access_key_id, sts_token, callback } = params;
|
|
189
|
+
if (!region || !bucket || !dir || !access_key_secret || !access_key_id || !sts_token || !callback) {
|
|
190
|
+
throw new import_InitException.InitException(
|
|
191
|
+
import_InitException.InitExceptionCode.MISSING_CREDENTIALS_PARAMS_FOR_UPLOAD,
|
|
192
|
+
"aliyun",
|
|
193
|
+
"region",
|
|
194
|
+
"bucket",
|
|
195
|
+
"dir",
|
|
196
|
+
"access_key_id",
|
|
197
|
+
"access_key_secret",
|
|
198
|
+
"sts_token",
|
|
199
|
+
"callback"
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
const name = `${dir}${key}`;
|
|
203
|
+
const configParams = {
|
|
204
|
+
bucket,
|
|
205
|
+
region,
|
|
206
|
+
object: name,
|
|
207
|
+
accessKeyId: access_key_id,
|
|
208
|
+
accessKeySecret: access_key_secret,
|
|
209
|
+
stsToken: sts_token,
|
|
210
|
+
callback,
|
|
211
|
+
taskId: option.taskId
|
|
212
|
+
};
|
|
213
|
+
if (!options.mime) {
|
|
214
|
+
if ((0, import_checkDataFormat.isFile)(file)) {
|
|
215
|
+
options.mime = file.type;
|
|
216
|
+
} else if ((0, import_checkDataFormat.isBlob)(file)) {
|
|
217
|
+
options.mime = file.type;
|
|
218
|
+
} else {
|
|
219
|
+
options.mime = import_mime.default.getType((0, import_regExpUtil.parseExtname)(name));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (options.checkpoint && options.checkpoint.UploadId) {
|
|
223
|
+
if (file && (0, import_checkDataFormat.isFile)(file))
|
|
224
|
+
options.checkpoint.file = file;
|
|
225
|
+
if (file)
|
|
226
|
+
options.checkpoint.file = file;
|
|
227
|
+
return resumeMultipart(options.checkpoint, configParams, options);
|
|
228
|
+
}
|
|
229
|
+
const minPartSize = 100 * 1024;
|
|
230
|
+
options.headers = options.headers || {};
|
|
231
|
+
const fileSize = file.size;
|
|
232
|
+
if (fileSize < minPartSize) {
|
|
233
|
+
return (0, import_STSUpload.STSUpload)(file, key, params, { ...options });
|
|
234
|
+
}
|
|
235
|
+
if (options.partSize && !(parseInt(String(options.partSize), 10) === options.partSize)) {
|
|
236
|
+
throw new import_InitException.InitException(import_InitException.InitExceptionCode.UPLOAD_API_OPTION_PARTSIZE_MUST_INT);
|
|
237
|
+
}
|
|
238
|
+
if (options.partSize && options.partSize < minPartSize) {
|
|
239
|
+
throw new import_InitException.InitException(import_InitException.InitExceptionCode.UPLOAD_API_OPTION_PARTSIZE_IS_SMALL, minPartSize);
|
|
240
|
+
}
|
|
241
|
+
const initResult = await initMultipartUpload(name, configParams, {
|
|
242
|
+
mime: options.mime,
|
|
243
|
+
headers: options.headers
|
|
244
|
+
});
|
|
245
|
+
const { UploadId } = initResult;
|
|
246
|
+
const partSize = (0, import_multipart.getPartSize)(fileSize, options.partSize);
|
|
247
|
+
const checkpoint = (0, import_multipart.initCheckpoint)(file, name, fileSize, partSize, UploadId);
|
|
248
|
+
if (options && options.progress) {
|
|
249
|
+
options.progress(0, 0, fileSize, checkpoint);
|
|
250
|
+
}
|
|
251
|
+
return resumeMultipart(checkpoint, configParams, {
|
|
252
|
+
...options
|
|
253
|
+
});
|
|
254
|
+
}, "MultipartUpload");
|
|
255
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
256
|
+
0 && (module.exports = {
|
|
257
|
+
MultipartUpload
|
|
258
|
+
});
|
|
259
|
+
//# sourceMappingURL=MultipartUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/OSS/MultipartUpload.ts"],"sourcesContent":["import mime from \"mime\"\nimport { InitException, InitExceptionCode } from \"../../Exception/InitException\"\nimport { UploadException, UploadExceptionCode } from \"../../Exception/UploadException\"\nimport type { MethodType, PlatformMultipartUploadOption, PlatformRequest } from \"../../types\"\nimport type { OSS } from \"../../types/OSS\"\nimport type { ErrorType } from \"../../types/error\"\nimport { createRequest, omit, uploadPart } from \"./utils/helper\"\nimport { isBlob, isFile } from \"../../utils/checkDataFormat\"\nimport {\n\tcreateBuffer,\n\tdivideParts,\n\tgetPartSize,\n\tinitCheckpoint,\n\tparallelSend,\n} from \"../../utils/multipart\"\nimport { parseExtname } from \"../../utils/regExpUtil\"\nimport { request } from \"../../utils/request\"\nimport { normalizeSuccessResponse } from \"../../utils/response\"\nimport { STSUpload } from \"./STSUpload\"\n\n/**\n * @description: Initialize multipart upload, used to get UploadId from OSS service\n * @param {string} name filename\n * @param {OSS.MultipartUploadParams} params upload credentials and other fields\n * @param {OSS.InitMultipartUploadOption} option configuration fields\n */\nasync function initMultipartUpload(\n\tname: string,\n\tparams: OSS.MultipartUploadParams,\n\toption: OSS.InitMultipartUploadOption,\n) {\n\tconst result = await request<OSS.InitMultipartUploadResponse>({\n\t\t...createRequest(\n\t\t\t{\n\t\t\t\t...params,\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tsubRes: \"uploads\",\n\t\t\t\tobject: name,\n\t\t\t},\n\t\t\toption,\n\t\t),\n\t\txmlResponse: true,\n\t})\n\n\tconst { data } = result\n\treturn {\n\t\tres: result,\n\t\tbucket: data.InitiateMultipartUploadResult.Bucket,\n\t\tname: data.InitiateMultipartUploadResult.Key,\n\t\tUploadId: data.InitiateMultipartUploadResult.UploadId,\n\t}\n}\n\n/**\n * @description: After multipart upload is done, call this to complete it\n * @param {String} name File path name\n * @param {String} UploadId Upload ID\n * @param {Array} parts Part info\n * {Integer} Part number\n * {String} Part etag\n * @param params\n * @param {OSS.MultipartUploadParams} options Upload credential and related info\n * @param {OSS.CompleteMultipartUploadOptions} options Configuration field\n */\nasync function completeMultipartUpload(\n\t// @ts-ignore\n\tname: string,\n\tUploadId: string,\n\tparts: Array<{ number: number; etag: string }>,\n\tparams: OSS.MultipartUploadParams,\n\toptions: OSS.CompleteMultipartUploadOptions,\n) {\n\tconst completeParts = parts\n\t\t.concat()\n\t\t.sort((a, b) => a.number - b.number)\n\t\t.filter((item, index, arr) => !index || item.number !== arr[index - 1].number)\n\tlet xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n<CompleteMultipartUpload>\\n'\n\tfor (let i = 0; i < completeParts.length; i += 1) {\n\t\tconst p = completeParts[i]\n\t\txml += \"<Part>\\n\"\n\t\txml += `<PartNumber>${p.number}</PartNumber>\\n`\n\t\txml += `<ETag>${p.etag}</ETag>\\n`\n\t\txml += \"</Part>\\n\"\n\t}\n\txml += \"</CompleteMultipartUpload>\"\n\tconst opt = { ...options, mime: \"xml\" }\n\topt.headers = omit(opt.headers, [\"x-oss-server-side-encryption\", \"x-oss-storage-class\"])\n\tconst configParams = {\n\t\t...params,\n\t\tmethod: <MethodType>\"POST\",\n\t\tsubRes: { UploadId },\n\t\tcontent: xml,\n\t}\n\t// if (!(options.headers && options.headers[\"x-oss-callback\"])) {\n\t// \t// eslint-disable-next-line no-param-reassign\n\t// \tparams.xmlResponse = true\n\t// }\n\tconst {\n\t\tdata: { path, platform },\n\t\theaders,\n\t} = await request<OSS.CompleteMultipartUploadResponse>({\n\t\t...createRequest(configParams, opt),\n\t})\n\tif (options.progress) {\n\t\tconst { partSize } = opt\n\t\toptions.progress(100, parts.length * partSize, parts.length * partSize, null)\n\t}\n\treturn normalizeSuccessResponse(path, platform, headers)\n}\n\n/**\n * @description: Used for multipart upload or ResumeCheckpoint resume\n * @param {Object} checkpoint the File upload checkpoint info\n * @param {OSS.MultipartUploadParams} params Upload credential info\n * @param {OSS.MultipartUploadOption} options Configuration field\n */\nasync function resumeMultipart(\n\tcheckpoint: OSS.Checkpoint,\n\tparams: OSS.MultipartUploadParams,\n\toptions: OSS.ResumeMultipartOption,\n) {\n\tconst { file, fileSize, partSize, UploadId, doneParts, name } = checkpoint\n\tconst internalDoneParts = doneParts.length > 0 ? [...doneParts] : []\n\tconst partOffs = divideParts(fileSize, partSize)\n\tconst numParts = partOffs.length\n\tlet multipartFinish = false\n\tconst opt = { ...options, partSize }\n\tconst uploadPartJob = (partNo: number): Promise<void | OSS.DonePart> =>\n\t\t// eslint-disable-next-line no-async-promise-executor\n\t\tnew Promise(async (resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tconst pi = partOffs[partNo - 1]\n\t\t\t\tconst content = await createBuffer(file, pi.start, pi.end)\n\t\t\t\tconst data: OSS.PartInfo = {\n\t\t\t\t\tcontent,\n\t\t\t\t\tsize: pi.end - pi.start,\n\t\t\t\t}\n\n\t\t\t\tconst result = await uploadPart(name, UploadId, partNo, data, params, {\n\t\t\t\t\t...opt,\n\t\t\t\t})\n\n\t\t\t\tif (!multipartFinish) {\n\t\t\t\t\tcheckpoint.doneParts.push({\n\t\t\t\t\t\tnumber: partNo,\n\t\t\t\t\t\tetag: result.etag,\n\t\t\t\t\t})\n\n\t\t\t\t\tif (options.progress) {\n\t\t\t\t\t\toptions.progress(\n\t\t\t\t\t\t\t(doneParts.length / (numParts + 1)) * 100,\n\t\t\t\t\t\t\tdoneParts.length * partSize,\n\t\t\t\t\t\t\tfileSize,\n\t\t\t\t\t\t\tcheckpoint,\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve({\n\t\t\t\t\t\tnumber: partNo,\n\t\t\t\t\t\tetag: result.etag,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\t\t\t} catch (err: any) {\n\t\t\t\tconst tempErr = new Error() as unknown as ErrorType.UploadPartException\n\t\t\t\ttempErr.name = err.name\n\t\t\t\ttempErr.message = err.message\n\t\t\t\ttempErr.stack = err.stack\n\t\t\t\ttempErr.partNum = partNo\n\t\t\t\ttempErr.status = err.status\n\n\t\t\t\treject(tempErr)\n\t\t\t}\n\t\t})\n\n\tconst all = Array.from(new Array(numParts), (_, i) => i + 1)\n\tconst done = internalDoneParts.map((p) => p.number)\n\tconst todo = all.filter((p) => done.indexOf(p) < 0)\n\tconst defaultParallel = 5\n\tconst parallel = opt.parallel || defaultParallel\n\t// upload in parallel\n\tconst jobErr: ErrorType.UploadPartException[] = await parallelSend(\n\t\ttodo,\n\t\tparallel,\n\t\t(value) =>\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tuploadPartJob(value)\n\t\t\t\t\t.then((result: OSS.DonePart | void) => {\n\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\tinternalDoneParts.push(result)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve()\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\treject(err)\n\t\t\t\t\t})\n\t\t\t}),\n\t)\n\n\tmultipartFinish = true\n\n\tif (jobErr && jobErr.length > 0) {\n\t\tconst error = jobErr[0]\n\t\t// 5001 Cancel upload, 5002 Pause upload\n\t\tif (error.status === 5001 || error.status === 5002) {\n\t\t\tthrow error as Error\n\t\t}\n\t\tthrow new UploadException(\n\t\t\tUploadExceptionCode.UPLOAD_MULTIPART_ERROR,\n\t\t\terror.message.replace(\"[Uploader] \", \"\"),\n\t\t\terror.partNum,\n\t\t)\n\t}\n\n\treturn completeMultipartUpload(name, UploadId, internalDoneParts, params, opt)\n}\n\n/**\n * @description: Multipart upload/Checkpoint resume\n * @param {File | Blob} file File upload\n * @param {String} key File name\n * @param {OSS.MultipartUploadParams} params Upload credential info\n * @param {OSS.MultipartUploadOption} option Configuration field\n */\nexport const MultipartUpload: PlatformRequest<\n\tOSS.STSAuthParams,\n\tPlatformMultipartUploadOption\n> = async (file, key, params, option) => {\n\tconst options = { ...option }\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tconst { region, bucket, dir, access_key_secret, access_key_id, sts_token, callback } = params\n\n\tif (\n\t\t!region ||\n\t\t!bucket ||\n\t\t!dir ||\n\t\t!access_key_secret ||\n\t\t!access_key_id ||\n\t\t!sts_token ||\n\t\t!callback\n\t) {\n\t\tthrow new InitException(\n\t\t\tInitExceptionCode.MISSING_CREDENTIALS_PARAMS_FOR_UPLOAD,\n\t\t\t\"aliyun\",\n\t\t\t\"region\",\n\t\t\t\"bucket\",\n\t\t\t\"dir\",\n\t\t\t\"access_key_id\",\n\t\t\t\"access_key_secret\",\n\t\t\t\"sts_token\",\n\t\t\t\"callback\",\n\t\t)\n\t}\n\tconst name = `${dir}${key}`\n\t// Configuration parameters\n\tconst configParams: OSS.MultipartUploadParams = {\n\t\tbucket,\n\t\tregion,\n\t\tobject: name,\n\t\taccessKeyId: access_key_id,\n\t\taccessKeySecret: access_key_secret,\n\t\tstsToken: sts_token,\n\t\tcallback,\n\t\ttaskId: option.taskId,\n\t}\n\tif (!options.mime) {\n\t\tif (isFile(file)) {\n\t\t\toptions.mime = file.type\n\t\t} else if (isBlob(file)) {\n\t\t\toptions.mime = file.type\n\t\t} else {\n\t\t\toptions.mime = mime.getType(parseExtname(name))\n\t\t}\n\t}\n\n\tif (options.checkpoint && options.checkpoint.UploadId) {\n\t\tif (file && isFile(file)) options.checkpoint.file = file\n\t\tif (file) options.checkpoint.file = file\n\n\t\treturn resumeMultipart(options.checkpoint, configParams, options)\n\t}\n\n\t// Minimum part size\n\tconst minPartSize = 100 * 1024\n\n\toptions.headers = options.headers || {}\n\n\tconst fileSize = file.size\n\tif (fileSize < minPartSize) {\n\t\treturn STSUpload(file, key, params, { ...options })\n\t}\n\tif (options.partSize && !(parseInt(String(options.partSize), 10) === options.partSize)) {\n\t\tthrow new InitException(InitExceptionCode.UPLOAD_API_OPTION_PARTSIZE_MUST_INT)\n\t}\n\n\tif (options.partSize && options.partSize < minPartSize) {\n\t\tthrow new InitException(InitExceptionCode.UPLOAD_API_OPTION_PARTSIZE_IS_SMALL, minPartSize)\n\t}\n\n\tconst initResult = await initMultipartUpload(name, configParams, {\n\t\tmime: options.mime,\n\t\theaders: options.headers,\n\t})\n\n\tconst { UploadId } = initResult\n\tconst partSize = getPartSize(fileSize, <number>options.partSize)\n\n\tconst checkpoint: OSS.Checkpoint = initCheckpoint(file, name, fileSize, partSize, UploadId)\n\n\tif (options && options.progress) {\n\t\toptions.progress(0, 0, fileSize, checkpoint)\n\t}\n\n\treturn resumeMultipart(checkpoint, configParams, {\n\t\t...options,\n\t})\n}\n\n\n\n\n"],"mappings":"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","names":["mime"]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var STSUpload_exports = {};
|
|
21
|
+
__export(STSUpload_exports, {
|
|
22
|
+
STSUpload: () => STSUpload
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(STSUpload_exports);
|
|
25
|
+
var import_InitException = require("../../Exception/InitException");
|
|
26
|
+
var import_types = require("../../types");
|
|
27
|
+
var import_helper = require("./utils/helper");
|
|
28
|
+
var import_request = require("../../utils/request");
|
|
29
|
+
var import_response = require("../../utils/response");
|
|
30
|
+
const STSUpload = /* @__PURE__ */ __name(async (file, key, params, option) => {
|
|
31
|
+
const { region, bucket, dir, access_key_secret, access_key_id, sts_token, callback } = params;
|
|
32
|
+
if (!region || !bucket || !dir || !access_key_secret || !access_key_id || !sts_token || !callback) {
|
|
33
|
+
throw new import_InitException.InitException(
|
|
34
|
+
import_InitException.InitExceptionCode.MISSING_CREDENTIALS_PARAMS_FOR_UPLOAD,
|
|
35
|
+
"alien",
|
|
36
|
+
"region",
|
|
37
|
+
"bucket",
|
|
38
|
+
"dir",
|
|
39
|
+
"access_key_secret",
|
|
40
|
+
"access_key_id",
|
|
41
|
+
"sts_token",
|
|
42
|
+
"callback"
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
if (file?.size > 5 * 1024 * 1024 * 1024) {
|
|
46
|
+
throw new import_InitException.InitException(import_InitException.InitExceptionCode.UPLOAD_FILE_TO_BIG, key);
|
|
47
|
+
}
|
|
48
|
+
const configParams = {
|
|
49
|
+
...params,
|
|
50
|
+
method: "PUT",
|
|
51
|
+
content: file,
|
|
52
|
+
object: `${dir}${key}`,
|
|
53
|
+
accessKeyId: access_key_id,
|
|
54
|
+
accessKeySecret: access_key_secret,
|
|
55
|
+
stsToken: sts_token,
|
|
56
|
+
subRes: ""
|
|
57
|
+
};
|
|
58
|
+
return (0, import_request.request)({
|
|
59
|
+
...(0, import_helper.createRequest)(configParams, option),
|
|
60
|
+
taskId: option.taskId,
|
|
61
|
+
onProgress: option?.progress ? option.progress : () => {
|
|
62
|
+
}
|
|
63
|
+
}).then(({ headers, data: { path } }) => {
|
|
64
|
+
return (0, import_response.normalizeSuccessResponse)(path, import_types.PlatformType.OSS, headers);
|
|
65
|
+
});
|
|
66
|
+
}, "STSUpload");
|
|
67
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
68
|
+
0 && (module.exports = {
|
|
69
|
+
STSUpload
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=STSUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/OSS/STSUpload.ts"],"sourcesContent":["import { InitException, InitExceptionCode } from \"../../Exception/InitException\"\nimport type { MethodType, PlatformMultipartUploadOption, PlatformRequest } from \"../../types\"\nimport { PlatformType } from \"../../types\"\nimport type { OSS } from \"../../types/OSS\"\nimport { createRequest } from \"./utils/helper\"\nimport { request } from \"../../utils/request\"\nimport { normalizeSuccessResponse } from \"../../utils/response\"\n\n/**\n * @description: STS upload\n * @param {File | Blob} file File\n * @param {String} key File name\n * @param {OSS.STSAuthParams} params Upload credential info\n * @param {PlatformMultipartUploadOption} option Configuration field\n */\nexport const STSUpload: PlatformRequest<OSS.STSAuthParams, PlatformMultipartUploadOption> = async (\n\tfile,\n\tkey,\n\tparams,\n\toption,\n) => {\n\tconst { region, bucket, dir, access_key_secret, access_key_id, sts_token, callback } = params\n\n\tif (\n\t\t!region ||\n\t\t!bucket ||\n\t\t!dir ||\n\t\t!access_key_secret ||\n\t\t!access_key_id ||\n\t\t!sts_token ||\n\t\t!callback\n\t) {\n\t\tthrow new InitException(\n\t\t\tInitExceptionCode.MISSING_CREDENTIALS_PARAMS_FOR_UPLOAD,\n\t\t\t\"alien\",\n\t\t\t\"region\",\n\t\t\t\"bucket\",\n\t\t\t\"dir\",\n\t\t\t\"access_key_secret\",\n\t\t\t\"access_key_id\",\n\t\t\t\"sts_token\",\n\t\t\t\"callback\",\n\t\t)\n\t}\n\n\t// Aliyun PostObject upload limit 5GB\n\tif (file?.size > 5 * 1024 * 1024 * 1024) {\n\t\tthrow new InitException(InitExceptionCode.UPLOAD_FILE_TO_BIG, key)\n\t}\n\n\tconst configParams = {\n\t\t...params,\n\t\tmethod: <MethodType>\"PUT\",\n\t\tcontent: file,\n\t\tobject: `${dir}${key}`,\n\t\taccessKeyId: access_key_id,\n\t\taccessKeySecret: access_key_secret,\n\t\tstsToken: sts_token,\n\t\tsubRes: \"\",\n\t}\n\n\t// Send request\n\treturn request<OSS.PutResponse>({\n\t\t...createRequest(configParams, option),\n\t\ttaskId: option.taskId,\n\t\tonProgress: option?.progress ? option.progress : () => {},\n\t}).then(({ headers, data: { path } }) => {\n\t\treturn normalizeSuccessResponse(path, PlatformType.OSS, headers)\n\t})\n}\n\n\n\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAC,2BAAiD;AAElD,mBAA6B;AAE7B,oBAA8B;AAC9B,qBAAwB;AACxB,sBAAyC;AASlC,MAAM,YAA+E,8BAC3F,MACA,KACA,QACA,WACI;AACJ,QAAM,EAAE,QAAQ,QAAQ,KAAK,mBAAmB,eAAe,WAAW,SAAS,IAAI;AAEvF,MACC,CAAC,UACD,CAAC,UACD,CAAC,OACD,CAAC,qBACD,CAAC,iBACD,CAAC,aACD,CAAC,UACA;AACD,UAAM,IAAI;AAAA,MACT,uCAAkB;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAGA,MAAI,MAAM,OAAO,IAAI,OAAO,OAAO,MAAM;AACxC,UAAM,IAAI,mCAAc,uCAAkB,oBAAoB,GAAG;AAAA,EAClE;AAEA,QAAM,eAAe;AAAA,IACpB,GAAG;AAAA,IACH,QAAoB;AAAA,IACpB,SAAS;AAAA,IACT,QAAQ,GAAG,GAAG,GAAG,GAAG;AAAA,IACpB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,QAAQ;AAAA,EACT;AAGA,aAAO,wBAAyB;AAAA,IAC/B,OAAG,6BAAc,cAAc,MAAM;AAAA,IACrC,QAAQ,OAAO;AAAA,IACf,YAAY,QAAQ,WAAW,OAAO,WAAW,MAAM;AAAA,IAAC;AAAA,EACzD,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM;AACxC,eAAO,0CAAyB,MAAM,0BAAa,KAAK,OAAO;AAAA,EAChE,CAAC;AACF,GAtD4F;","names":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var defaultUpload_exports = {};
|
|
21
|
+
__export(defaultUpload_exports, {
|
|
22
|
+
defaultUpload: () => defaultUpload
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(defaultUpload_exports);
|
|
25
|
+
var import_InitException = require("../../Exception/InitException");
|
|
26
|
+
var import_UploadException = require("../../Exception/UploadException");
|
|
27
|
+
var import_types = require("../../types");
|
|
28
|
+
var import_request = require("../../utils/request");
|
|
29
|
+
var import_response = require("../../utils/response");
|
|
30
|
+
const defaultUpload = /* @__PURE__ */ __name((file, key, params, option) => {
|
|
31
|
+
const { policy, accessid, signature, host, dir, callback } = params;
|
|
32
|
+
if (!policy || !accessid || !signature || !host || !dir || !callback) {
|
|
33
|
+
throw new import_InitException.InitException(
|
|
34
|
+
import_InitException.InitExceptionCode.MISSING_CREDENTIALS_PARAMS_FOR_UPLOAD,
|
|
35
|
+
"aliyun",
|
|
36
|
+
"policy",
|
|
37
|
+
"accessid",
|
|
38
|
+
"signature",
|
|
39
|
+
"host",
|
|
40
|
+
"dir",
|
|
41
|
+
"callback"
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
if (file?.size > 5 * 1024 * 1024 * 1024) {
|
|
45
|
+
throw new import_InitException.InitException(import_InitException.InitExceptionCode.UPLOAD_FILE_TO_BIG, key);
|
|
46
|
+
}
|
|
47
|
+
const formData = new FormData();
|
|
48
|
+
formData.append("key", `${dir}${key}`);
|
|
49
|
+
formData.append("policy", policy);
|
|
50
|
+
formData.append("OSSAccessKeyId", accessid);
|
|
51
|
+
formData.append("signature", signature);
|
|
52
|
+
formData.append("success_action_status", "200");
|
|
53
|
+
formData.append("callback", callback);
|
|
54
|
+
formData.append("file", file);
|
|
55
|
+
return (0, import_request.request)({
|
|
56
|
+
method: "post",
|
|
57
|
+
url: host,
|
|
58
|
+
data: formData,
|
|
59
|
+
headers: option?.headers ? option?.headers : {},
|
|
60
|
+
taskId: option.taskId,
|
|
61
|
+
onProgress: option?.progress ? option.progress : () => {
|
|
62
|
+
},
|
|
63
|
+
fail: (status, reject) => {
|
|
64
|
+
if (status === 403) {
|
|
65
|
+
reject(new import_UploadException.UploadException(import_UploadException.UploadExceptionCode.UPLOAD_CREDENTIALS_IS_EXPIRED));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}).then(({ headers, data: { path } }) => {
|
|
69
|
+
return (0, import_response.normalizeSuccessResponse)(path, import_types.PlatformType.OSS, headers);
|
|
70
|
+
});
|
|
71
|
+
}, "defaultUpload");
|
|
72
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
73
|
+
0 && (module.exports = {
|
|
74
|
+
defaultUpload
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=defaultUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/OSS/defaultUpload.ts"],"sourcesContent":["import { InitException, InitExceptionCode } from \"../../Exception/InitException\"\nimport { UploadException, UploadExceptionCode } from \"../../Exception/UploadException\"\nimport type { PlatformRequest, PlatformSimpleUploadOption } from \"../../types\"\nimport { PlatformType } from \"../../types\"\nimport type { OSS } from \"../../types/OSS\"\nimport { request } from \"../../utils/request\"\nimport { normalizeSuccessResponse } from \"../../utils/response\"\n\n/**\n * @description: Default upload\n * @param {File | Blob} file File\n * @param {String} key File name\n * @param {OSS.AuthParams} params Upload credential info\n * @param {PlatformSimpleUploadOption} option Configuration field\n */\nexport const defaultUpload: PlatformRequest<OSS.AuthParams, PlatformSimpleUploadOption> = (\n\tfile,\n\tkey,\n\tparams,\n\toption,\n) => {\n\tconst { policy, accessid, signature, host, dir, callback } = params\n\n\tif (!policy || !accessid || !signature || !host || !dir || !callback) {\n\t\tthrow new InitException(\n\t\t\tInitExceptionCode.MISSING_CREDENTIALS_PARAMS_FOR_UPLOAD,\n\t\t\t\"aliyun\",\n\t\t\t\"policy\",\n\t\t\t\"accessid\",\n\t\t\t\"signature\",\n\t\t\t\"host\",\n\t\t\t\"dir\",\n\t\t\t\"callback\",\n\t\t)\n\t}\n\n\t// Aliyun PostObject upload limit 5GB\n\tif (file?.size > 5 * 1024 * 1024 * 1024) {\n\t\tthrow new InitException(InitExceptionCode.UPLOAD_FILE_TO_BIG, key)\n\t}\n\n\t// Wrap the FormData object\n\tconst formData = new FormData()\n\tformData.append(\"key\", `${dir}${key}`)\n\tformData.append(\"policy\", policy)\n\tformData.append(\"OSSAccessKeyId\", accessid)\n\tformData.append(\"signature\", signature)\n\tformData.append(\"success_action_status\", \"200\")\n\tformData.append(\"callback\", callback)\n\tformData.append(\"file\", file)\n\n\t// Send request\n\treturn request<OSS.PostResponse>({\n\t\tmethod: \"post\",\n\t\turl: host,\n\t\tdata: formData,\n\t\theaders: option?.headers ? option?.headers : {},\n\t\ttaskId: option.taskId,\n\t\tonProgress: option?.progress ? option.progress : () => {},\n\t\tfail: (status, reject) => {\n\t\t\tif (status === 403) {\n\t\t\t\treject(new UploadException(UploadExceptionCode.UPLOAD_CREDENTIALS_IS_EXPIRED))\n\t\t\t}\n\t\t},\n\t}).then(({ headers, data: { path } }) => {\n\t\treturn normalizeSuccessResponse(path, PlatformType.OSS, headers)\n\t})\n}\n\n\n\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAC,2BAAiD;AAClD,6BAAqD;AAErD,mBAA6B;AAE7B,qBAAwB;AACxB,sBAAyC;AASlC,MAAM,gBAA6E,wBACzF,MACA,KACA,QACA,WACI;AACJ,QAAM,EAAE,QAAQ,UAAU,WAAW,MAAM,KAAK,SAAS,IAAI;AAE7D,MAAI,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU;AACrE,UAAM,IAAI;AAAA,MACT,uCAAkB;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAGA,MAAI,MAAM,OAAO,IAAI,OAAO,OAAO,MAAM;AACxC,UAAM,IAAI,mCAAc,uCAAkB,oBAAoB,GAAG;AAAA,EAClE;AAGA,QAAM,WAAW,IAAI,SAAS;AAC9B,WAAS,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE;AACrC,WAAS,OAAO,UAAU,MAAM;AAChC,WAAS,OAAO,kBAAkB,QAAQ;AAC1C,WAAS,OAAO,aAAa,SAAS;AACtC,WAAS,OAAO,yBAAyB,KAAK;AAC9C,WAAS,OAAO,YAAY,QAAQ;AACpC,WAAS,OAAO,QAAQ,IAAI;AAG5B,aAAO,wBAA0B;AAAA,IAChC,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,IACN,SAAS,QAAQ,UAAU,QAAQ,UAAU,CAAC;AAAA,IAC9C,QAAQ,OAAO;AAAA,IACf,YAAY,QAAQ,WAAW,OAAO,WAAW,MAAM;AAAA,IAAC;AAAA,IACxD,MAAM,CAAC,QAAQ,WAAW;AACzB,UAAI,WAAW,KAAK;AACnB,eAAO,IAAI,uCAAgB,2CAAoB,6BAA6B,CAAC;AAAA,MAC9E;AAAA,IACD;AAAA,EACD,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM;AACxC,eAAO,0CAAyB,MAAM,0BAAa,KAAK,OAAO;AAAA,EAChE,CAAC;AACF,GApD0F;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var OSS_exports = {};
|
|
21
|
+
__export(OSS_exports, {
|
|
22
|
+
default: () => OSS_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(OSS_exports);
|
|
25
|
+
var import_MultipartUpload = require("./MultipartUpload");
|
|
26
|
+
var import_defaultUpload = require("./defaultUpload");
|
|
27
|
+
var import_STSUpload = require("./STSUpload");
|
|
28
|
+
const upload = /* @__PURE__ */ __name((file, key, params, option) => {
|
|
29
|
+
if (Object.prototype.hasOwnProperty.call(params, "sts_token")) {
|
|
30
|
+
return (0, import_MultipartUpload.MultipartUpload)(file, key, params, option);
|
|
31
|
+
}
|
|
32
|
+
return (0, import_defaultUpload.defaultUpload)(file, key, params, option);
|
|
33
|
+
}, "upload");
|
|
34
|
+
var OSS_default = { upload, defaultUpload: import_defaultUpload.defaultUpload, MultipartUpload: import_MultipartUpload.MultipartUpload, STSUpload: import_STSUpload.STSUpload };
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/OSS/index.ts"],"sourcesContent":["import type {\n\tPlatformMultipartUploadOption,\n\tPlatformRequest,\n\tPlatformSimpleUploadOption,\n} from \"../../types\"\nimport type { OSS } from \"../../types/OSS\"\nimport { MultipartUpload } from \"./MultipartUpload\"\nimport { defaultUpload } from \"./defaultUpload\"\nimport { STSUpload } from \"./STSUpload\"\n\nconst upload: PlatformRequest<\n\tOSS.AuthParams | OSS.STSAuthParams,\n\tPlatformSimpleUploadOption | PlatformMultipartUploadOption\n> = (file, key, params, option) => {\n\t// Determine post vs multipartUpload based on backend-provided credentials\n\tif (Object.prototype.hasOwnProperty.call(params, \"sts_token\")) {\n\t\treturn MultipartUpload(file, key, <OSS.STSAuthParams>params, option)\n\t}\n\treturn defaultUpload(file, key, <OSS.AuthParams>params, option)\n}\n\nexport default { upload, defaultUpload, MultipartUpload, STSUpload }\n\n\n\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,6BAAgC;AAChC,2BAA8B;AAC9B,uBAA0B;AAE1B,MAAM,SAGF,wBAAC,MAAM,KAAK,QAAQ,WAAW;AAElC,MAAI,OAAO,UAAU,eAAe,KAAK,QAAQ,WAAW,GAAG;AAC9D,eAAO,wCAAgB,MAAM,KAAwB,QAAQ,MAAM;AAAA,EACpE;AACA,aAAO,oCAAc,MAAM,KAAqB,QAAQ,MAAM;AAC/D,GANI;AAQJ,IAAO,cAAQ,EAAE,QAAQ,mDAAe,yDAAiB,sCAAU;","names":[]}
|