From 7a2f5c71874546e700143ca5d2242d5a8b750744 Mon Sep 17 00:00:00 2001 From: BlackHole1 <158blackhole@gmail.com> Date: Tue, 20 Jul 2021 16:39:13 +0800 Subject: [PATCH 1/2] fix(region): policy url incorrect --- .../src/apiMiddleware/flatServer/storage.ts | 1 + .../src/utils/UploadTaskManager/UploadTask.ts | 20 +++++++++---------- .../src/apiMiddleware/flatServer/storage.ts | 1 + .../src/utils/UploadTaskManager/UploadTask.ts | 20 +++++++++---------- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts b/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts index 5aa21b7e044..5858fbbc783 100644 --- a/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts +++ b/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts @@ -50,6 +50,7 @@ export interface UploadStartResult { fileUUID: string; filePath: string; policy: string; + policyURL: string; signature: string; } diff --git a/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts b/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts index f2cd5645dbf..3f0002fee33 100644 --- a/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts +++ b/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts @@ -77,7 +77,7 @@ export class UploadTask { } } - const { filePath, fileUUID, policy, signature } = uploadStartResult; + const { filePath, fileUUID, policy, policyURL, signature } = uploadStartResult; if (this.getStatus() !== UploadStatusType.Starting) { return; @@ -104,17 +104,15 @@ export class UploadTask { this.updateStatus(UploadStatusType.Uploading); - await Axios.post( - `https://${CLOUD_STORAGE_OSS_ALIBABA_CONFIG.bucket}.${CLOUD_STORAGE_OSS_ALIBABA_CONFIG.region}.aliyuncs.com`, - formData, - { - headers: { "Content-Type": "multipart/form-data" }, - onUploadProgress: (e: ProgressEvent) => { - this.updatePercent(Math.floor((100 * e.loaded) / e.total)); - }, - cancelToken: this._cancelTokenSource.token, + await Axios.post(policyURL, formData, { + headers: { + "Content-Type": "multipart/form-data", }, - ); + onUploadProgress: (e: ProgressEvent) => { + this.updatePercent(Math.floor((100 * e.loaded) / e.total)); + }, + cancelToken: this._cancelTokenSource.token, + }); } catch (e) { if (e instanceof Axios.Cancel) { this.updateStatus(UploadStatusType.Cancelled); diff --git a/web/flat-web/src/apiMiddleware/flatServer/storage.ts b/web/flat-web/src/apiMiddleware/flatServer/storage.ts index 5aa21b7e044..5858fbbc783 100644 --- a/web/flat-web/src/apiMiddleware/flatServer/storage.ts +++ b/web/flat-web/src/apiMiddleware/flatServer/storage.ts @@ -50,6 +50,7 @@ export interface UploadStartResult { fileUUID: string; filePath: string; policy: string; + policyURL: string; signature: string; } diff --git a/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts b/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts index 807c02bf0b1..2b2db1eaea3 100644 --- a/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts +++ b/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts @@ -77,7 +77,7 @@ export class UploadTask { } } - const { filePath, fileUUID, policy, signature } = uploadStartResult; + const { filePath, fileUUID, policy, policyURL, signature } = uploadStartResult; if (this.getStatus() !== UploadStatusType.Starting) { return; @@ -104,17 +104,15 @@ export class UploadTask { this.updateStatus(UploadStatusType.Uploading); - await Axios.post( - `https://${CLOUD_STORAGE_OSS_ALIBABA_CONFIG.bucket}.${CLOUD_STORAGE_OSS_ALIBABA_CONFIG.region}.aliyuncs.com`, - formData, - { - headers: { "Content-Type": "multipart/form-data" }, - onUploadProgress: (e: ProgressEvent) => { - this.updatePercent(Math.floor((100 * e.loaded) / e.total)); - }, - cancelToken: this._cancelTokenSource.token, + await Axios.post(policyURL, formData, { + headers: { + "Content-Type": "multipart/form-data", }, - ); + onUploadProgress: (e: ProgressEvent) => { + this.updatePercent(Math.floor((100 * e.loaded) / e.total)); + }, + cancelToken: this._cancelTokenSource.token, + }); } catch (e) { if (e instanceof Axios.Cancel) { this.updateStatus(UploadStatusType.Cancelled); From ae1ea1dd79f50d72f57f9045989e3554f62850c1 Mon Sep 17 00:00:00 2001 From: BlackHole1 <158blackhole@gmail.com> Date: Tue, 20 Jul 2021 16:41:44 +0800 Subject: [PATCH 2/2] refactor(api): move region params from alibab-cloud/upload/start to finish --- .../renderer-app/src/apiMiddleware/flatServer/storage.ts | 2 +- .../renderer-app/src/utils/UploadTaskManager/UploadTask.ts | 6 +++++- web/flat-web/src/apiMiddleware/flatServer/storage.ts | 2 +- web/flat-web/src/utils/UploadTaskManager/UploadTask.ts | 3 ++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts b/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts index 5858fbbc783..6f52f12a2b0 100644 --- a/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts +++ b/desktop/renderer-app/src/apiMiddleware/flatServer/storage.ts @@ -44,6 +44,7 @@ export async function listFiles(payload: ListFilesPayload): Promise { diff --git a/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts b/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts index 3f0002fee33..c835132bcae 100644 --- a/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts +++ b/desktop/renderer-app/src/utils/UploadTaskManager/UploadTask.ts @@ -59,6 +59,7 @@ export class UploadTask { uploadStartResult = await uploadStart({ fileName, fileSize, + region: configStore.getRegion(), }); } catch (e) { // max concurrent upload count limit @@ -71,6 +72,7 @@ export class UploadTask { uploadStartResult = await uploadStart({ fileName, fileSize, + region: configStore.getRegion(), }); } else { throw e; @@ -140,7 +142,9 @@ export class UploadTask { public async finish(): Promise { if (this.fileUUID) { try { - await uploadFinish({ fileUUID: this.fileUUID, region: configStore.getRegion() }); + await uploadFinish({ + fileUUID: this.fileUUID, + }); } catch (e) { console.error(e); } diff --git a/web/flat-web/src/apiMiddleware/flatServer/storage.ts b/web/flat-web/src/apiMiddleware/flatServer/storage.ts index 5858fbbc783..6f52f12a2b0 100644 --- a/web/flat-web/src/apiMiddleware/flatServer/storage.ts +++ b/web/flat-web/src/apiMiddleware/flatServer/storage.ts @@ -44,6 +44,7 @@ export async function listFiles(payload: ListFilesPayload): Promise { diff --git a/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts b/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts index 2b2db1eaea3..ecddeb33c36 100644 --- a/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts +++ b/web/flat-web/src/utils/UploadTaskManager/UploadTask.ts @@ -59,6 +59,7 @@ export class UploadTask { uploadStartResult = await uploadStart({ fileName, fileSize, + region: configStore.getRegion(), }); } catch (e) { // max concurrent upload count limit @@ -71,6 +72,7 @@ export class UploadTask { uploadStartResult = await uploadStart({ fileName, fileSize, + region: configStore.getRegion(), }); } else { throw e; @@ -142,7 +144,6 @@ export class UploadTask { try { await uploadFinish({ fileUUID: this.fileUUID, - region: configStore.getRegion(), }); } catch (e) { console.error(e);