From 27b539b0b75e15534cc23e9d89f1276edc9ec56f Mon Sep 17 00:00:00 2001 From: colin Date: Wed, 9 Oct 2024 15:15:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(oss-management):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E7=9A=84=E5=8C=85=E8=A3=85?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../objects/components/OssUploadModal.vue | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/vue/src/views/oss-management/objects/components/OssUploadModal.vue b/apps/vue/src/views/oss-management/objects/components/OssUploadModal.vue index f2eb4f42d..47590c23e 100644 --- a/apps/vue/src/views/oss-management/objects/components/OssUploadModal.vue +++ b/apps/vue/src/views/oss-management/objects/components/OssUploadModal.vue @@ -60,6 +60,7 @@ import { BasicTable, TableAction, useTable } from '/@/components/Table'; import { uploadUrl } from '/@/api/oss-management/objects'; import { useUserStoreWithOut } from '/@/store/modules/user'; + import { Result } from '/#/axios'; import Uploader from 'simple-uploader.js'; const emits = defineEmits(['file:uploaded', 'register']); @@ -172,7 +173,20 @@ fileList.value.push(...files); } - function _fileProgress(_, file) { + function _fileProgress(_, file, chunk) { + // 2024-09-29 处理上传失败的包装错误 + if (chunk.processedState?.res) { + try { + const result = JSON.parse(chunk.processedState.res) as Result; + if (result.code !== '0') { + file.error = true; + file.errorMsg = result.message; + file.pause(); + } + } catch (error) { + console.log('upload error ---> ', error); + } + } if (file._prevUploadedSize) { file.progress = `${Math.floor((file._prevUploadedSize / file.size) * 100)} %`; }