diff --git a/desktop/renderer-app/src/pages/CloudStoragePage/store.tsx b/desktop/renderer-app/src/pages/CloudStoragePage/store.tsx index 1bea1c36ada..a34b259531d 100644 --- a/desktop/renderer-app/src/pages/CloudStoragePage/store.tsx +++ b/desktop/renderer-app/src/pages/CloudStoragePage/store.tsx @@ -178,7 +178,14 @@ export class CloudStorageStore extends CloudStorageStoreBase { onUploadPanelClose = (): void => { if (Array.from(this.uploadStatusesMap.values()).some(this.isUploadNotFinished)) { - message.warning("there are tasks not finished"); + Modal.confirm({ + title: "取消上传", + content: "上传尚未完成,确定取消所有正在进行的上传吗?", + cancelText: "再想想", + onOk: () => { + this.clearUploadStatusesMap(); + }, + }); } else { this.clearUploadStatusesMap(); } diff --git a/desktop/renderer-app/src/pages/CloudStoragePage/utils.ts b/desktop/renderer-app/src/pages/CloudStoragePage/utils.ts index 46dad17223e..f819585c529 100644 --- a/desktop/renderer-app/src/pages/CloudStoragePage/utils.ts +++ b/desktop/renderer-app/src/pages/CloudStoragePage/utils.ts @@ -187,6 +187,9 @@ class UploadManager { this._tasks.add(currentTask); this._upload(file, currentTask) .catch(error => { + if (!isFakeID(currentTask.fileUUID)) { + cancelUpload({ fileUUIDs: [currentTask.fileUUID] }); + } if (error instanceof Axios.Cancel) { currentTask.onCancel?.(); } else {