From a228652df2dc5c57fa3146282a061f3816dfbb76 Mon Sep 17 00:00:00 2001 From: VobileLiuZhiwu <100398509+VobileLiuZhiwu@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:04:28 +0800 Subject: [PATCH 1/2] Update Upload.ts I would like the lib-storage library to support the resumable upload feature. I went through the source code and found that it can be achieved by simply adding a conditional check. --- lib/lib-storage/src/Upload.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/lib-storage/src/Upload.ts b/lib/lib-storage/src/Upload.ts index 06de3cccdaef5..d14502c42ed7c 100644 --- a/lib/lib-storage/src/Upload.ts +++ b/lib/lib-storage/src/Upload.ts @@ -234,6 +234,10 @@ export class Upload extends EventEmitter { return; } + if (this.uploadedParts.find(item => item.PartNumber === dataPart.partNumber) { + return; + } + // Use put instead of multipart for one chunk uploads. if (dataPart.partNumber === 1 && dataPart.lastPart) { return await this.__uploadUsingPut(dataPart); From c7283d4b65bc4d954af4d724b2abf458face370a Mon Sep 17 00:00:00 2001 From: VobileLiuZhiwu <100398509+VobileLiuZhiwu@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:47:33 +0800 Subject: [PATCH 2/2] Update Upload.ts --- lib/lib-storage/src/Upload.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/lib-storage/src/Upload.ts b/lib/lib-storage/src/Upload.ts index d14502c42ed7c..e48dcdb08fbdc 100644 --- a/lib/lib-storage/src/Upload.ts +++ b/lib/lib-storage/src/Upload.ts @@ -235,7 +235,7 @@ export class Upload extends EventEmitter { } if (this.uploadedParts.find(item => item.PartNumber === dataPart.partNumber) { - return; + continue; } // Use put instead of multipart for one chunk uploads.