From 975e37411e881b64a0363591d131a43460005a32 Mon Sep 17 00:00:00 2001 From: XingQue Date: Sat, 25 Jul 2026 20:56:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9B=BE=E6=A0=87=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E6=89=8B=E5=8A=A8=E8=AE=BE=E7=BD=AE=20multip?= =?UTF-8?q?art=20Content-Type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 避免缺少 boundary 导致后端读不到 icon_key;失败时展示具体 key。 Co-authored-by: Cursor --- src/views/miniapp/MiniappAssets.vue | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/views/miniapp/MiniappAssets.vue b/src/views/miniapp/MiniappAssets.vue index 3ea6a7f..4bf1360 100644 --- a/src/views/miniapp/MiniappAssets.vue +++ b/src/views/miniapp/MiniappAssets.vue @@ -408,6 +408,10 @@ async function loadPindao() { async function uploadIcon(file, iconKey) { if (!file?.raw) return + if (!iconKey) { + ElMessage.error('缺少 icon_key') + return + } uploadingKey.value = iconKey try { const fd = new FormData() @@ -415,17 +419,17 @@ async function uploadIcon(file, iconKey) { fd.append('file', file.raw) fd.append('icon_key', iconKey) fd.append('action', 'upload') - const res = await request.post(JITUAN_API.miniappIconManage, fd, { - headers: { 'Content-Type': 'multipart/form-data' }, - }) + // 不要手动设 Content-Type,否则缺 boundary,后端可能读不到 icon_key + const res = await request.post(JITUAN_API.miniappIconManage, fd) if (res.code === 0) { ElMessage.success('上传成功') await loadIcons() } else { - ElMessage.error(res.msg || '上传失败') + ElMessage.error(res.msg || `上传失败(${iconKey})`) } - } catch { - ElMessage.error('上传失败') + } catch (e) { + const msg = e?.response?.data?.msg || e?.message || '上传失败' + ElMessage.error(`${msg} [${iconKey}]`) } finally { uploadingKey.value = '' }