From c29eece694350ef8a5f66083042f6843289a52cc Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Thu, 2 Jun 2022 14:17:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B5=8B=E8=AF=95=E8=B7=9F=E8=B8=AA):=20?= =?UTF-8?q?=E7=A6=85=E9=81=93=E5=B8=A6=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E7=89=87=E5=90=8C=E6=AD=A5=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1013764 --user=陈建星 【测试跟踪】图片名称包含空格 从ms 同步到禅道 不显示 https://www.tapd.cn/55049933/s/1172358 --- .../java/io/metersphere/controller/ResourceController.java | 4 ++-- .../main/java/io/metersphere/service/ResourceService.java | 6 ++++-- .../components/track/case/components/MsMarkDownText.vue | 4 ++-- frontend/src/network/image.js | 5 ++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/io/metersphere/controller/ResourceController.java b/backend/src/main/java/io/metersphere/controller/ResourceController.java index 59fe59f6ba..d32480b31f 100644 --- a/backend/src/main/java/io/metersphere/controller/ResourceController.java +++ b/backend/src/main/java/io/metersphere/controller/ResourceController.java @@ -16,8 +16,8 @@ public class ResourceController { @Resource ResourceService resourceService; @PostMapping(value = "/md/upload", consumes = {"multipart/form-data"}) - public void upload(@RequestPart(value = "request") MdUploadRequest request, @RequestPart(value = "file", required = false) MultipartFile file) { - resourceService.mdUpload(request, file); + public String upload(@RequestPart(value = "request") MdUploadRequest request, @RequestPart(value = "file", required = false) MultipartFile file) { + return resourceService.mdUpload(request, file); } @GetMapping(value = "/md/get") diff --git a/backend/src/main/java/io/metersphere/service/ResourceService.java b/backend/src/main/java/io/metersphere/service/ResourceService.java index 1990fd57f2..286e0842dd 100644 --- a/backend/src/main/java/io/metersphere/service/ResourceService.java +++ b/backend/src/main/java/io/metersphere/service/ResourceService.java @@ -29,8 +29,10 @@ public class ResourceService { @Resource private RestTemplate restTemplate; - public void mdUpload(MdUploadRequest request, MultipartFile file) { - FileUtils.uploadFile(file, FileUtils.MD_IMAGE_DIR, request.getId() + "_" + request.getFileName()); + public String mdUpload(MdUploadRequest request, MultipartFile file) { + String fileName = request.getId() + request.getFileName().substring(request.getFileName().lastIndexOf(".")); + FileUtils.uploadFile(file, FileUtils.MD_IMAGE_DIR, fileName); + return fileName; } public ResponseEntity getMdImage(String name) { diff --git a/frontend/src/business/components/track/case/components/MsMarkDownText.vue b/frontend/src/business/components/track/case/components/MsMarkDownText.vue index bdaadd8eaf..4a3e3b54b3 100644 --- a/frontend/src/business/components/track/case/components/MsMarkDownText.vue +++ b/frontend/src/business/components/track/case/components/MsMarkDownText.vue @@ -164,9 +164,9 @@ export default { methods: { imgAdd(pos, file) { this.result.loading = true; - uploadMarkDownImg(file, (response, param) => { + uploadMarkDownImg(file, (data) => { this.$success(this.$t('commons.save_success')); - let url = '/resource/md/get?fileName=' + param.id + '_' + encodeURIComponent(param.fileName); + let url = '/resource/md/get?fileName=' + data; this.$refs.md.$img2Url(pos, url); this.result.loading = false; }); diff --git a/frontend/src/network/image.js b/frontend/src/network/image.js index 2bdfab914e..45a8de05ce 100644 --- a/frontend/src/network/image.js +++ b/frontend/src/network/image.js @@ -7,11 +7,10 @@ export function uploadMarkDownImg(file, callback) { id: getUUID().substring(0, 8) }; file.prefix = param.id; - // 带括号和空格,可能无法展示 - param.fileName = file.name.replace("(", "").replace(")", "").replace(" ", ""); + param.fileName = file.name.substring(file.name.lastIndexOf('.')); return fileUpload('/resource/md/upload', file, null, param, (response) => { if (callback) { - callback(response, param); + callback(response.data, param); } }); }