From 49eba5ee960613819536b4398dc5424460007a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=AD=9F?= <3111696955@qq.com> Date: Thu, 14 Aug 2025 16:19:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor(image):=20=E4=BC=98=E5=8C=96=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E4=B8=8A=E4=BC=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改后端接口,使用 @RequestPart 注解替代 @RequestParam - 前端调整图片上传逻辑,直接发送 File 对象 - 简化前端上传成功后的处理流程 --- .../controller/ImageController.java | 4 +--- .../src/components/home/NoteEditor.vue | 13 +++---------- mydatabase.db | Bin 73728 -> 73728 bytes 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/ImageController.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/ImageController.java index 032d551..85604ab 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/ImageController.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/ImageController.java @@ -6,8 +6,6 @@ import com.test.bijihoudaun.common.response.R; import com.test.bijihoudaun.entity.Image; import com.test.bijihoudaun.service.ImageService; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; @@ -35,7 +33,7 @@ public class ImageController { @Operation(summary = "上传图片") @PostMapping public R uploadImage( - @RequestParam("file") MultipartFile file, + @RequestPart("file") MultipartFile file, @RequestParam(value = "userId", required = false) Long userId, @RequestParam(value = "markdownId", required = false) Long markdownId) { diff --git a/biji-qianduan/src/components/home/NoteEditor.vue b/biji-qianduan/src/components/home/NoteEditor.vue index 3d4090f..c87f372 100644 --- a/biji-qianduan/src/components/home/NoteEditor.vue +++ b/biji-qianduan/src/components/home/NoteEditor.vue @@ -62,20 +62,13 @@ const initVditor = () => { upload: { accept: 'image/*', handler(files) { - const file = files; // 必须是 File 对象,而不是 FileList + const file = files[0]; if (!file) return; - const formData = new FormData(); - formData.append('file', file); // 字段名必须是 'file' - - uploadImage(formData).then(res => { - if (res.code === 200) { - const url = res.data; + uploadImage(file).then(res => { + const url = res.url; // 使用 file.name 替代 files.name 保证一致性 vditor.value.insertValue(`![${file.name}](${url})`); - } else { - ElMessage.error('图片上传失败'); - } }).catch(() => { ElMessage.error('图片上传失败'); }); diff --git a/mydatabase.db b/mydatabase.db index e9804bede50d8a6d6924196bcc3014c7432dcaad..fd7c2f6bb460092cab3e484791ac5bdbe1d38a04 100644 GIT binary patch delta 1061 zcma)*O=}ZD9L9H(O|ypVPSR~Kn6yTWTEQ_pyR$R9t6B3dz zg}UirXy}Hkxu&OTrWccv2qV(b_Au$$>`R}Q4m>$Jc2rG=3NaDHF7=?P>I7Ppc+_w- zTQ$*vrv$=?RR1$fdiwQ?&yPl=lNvR{o69Ji@7WL|q(MtD2qdy)Q$%cp-tLw3&B*KU^8w`^kumAG- zLPQGM<@qygDflrnQ9CW=w-{kj{3LuAkoW-f!4d