update
This commit is contained in:
14
src/index.ts
14
src/index.ts
@@ -84,18 +84,20 @@ export class OssBase implements OssBaseOperation {
|
||||
let size: number = opts?.size;
|
||||
const isStream = opts?.isStream;
|
||||
if (!isStream) {
|
||||
if (data instanceof Object) {
|
||||
putData = JSON.stringify(data);
|
||||
size = putData.length;
|
||||
} else if (typeof data === 'string') {
|
||||
if (typeof data === 'string') {
|
||||
putData = data;
|
||||
size = putData.length;
|
||||
} else {
|
||||
putData = data;
|
||||
putData = JSON.stringify(data);
|
||||
size = putData.length;
|
||||
}
|
||||
} else {
|
||||
putData = data as any;
|
||||
size = null;
|
||||
// 对于流式上传,如果没有提供 size,会导致多部分上传,ETag 会是 ****-1 格式
|
||||
// 必须提供准确的 size 才能得到标准的 MD5 格式 ETag
|
||||
if (!size) {
|
||||
throw new Error('Stream upload requires size parameter to avoid multipart upload and get standard MD5 ETag');
|
||||
}
|
||||
}
|
||||
if (opts?.check) {
|
||||
const obj = await this.statObject(objectName, true);
|
||||
|
||||
Reference in New Issue
Block a user