From 58e6f0bb283d07c74f12ebcf57f0aa3df4c78406 Mon Sep 17 00:00:00 2001 From: mengyxu Date: Fri, 7 Jan 2022 17:42:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.新增复制地址为MarkDown语法 2.新增更新图片内容 --- .../xumy/picture/ctrl/PictureController.java | 12 +++- .../xumy/picture/service/PictureService.java | 11 ++- vue/src/static/plugins/axios.ts | 11 ++- vue/src/views/biz/picture.vue | 68 +++++++++++++++---- 4 files changed, 81 insertions(+), 21 deletions(-) diff --git a/java/src/main/java/vip/xumy/picture/ctrl/PictureController.java b/java/src/main/java/vip/xumy/picture/ctrl/PictureController.java index 985e641..996e77d 100644 --- a/java/src/main/java/vip/xumy/picture/ctrl/PictureController.java +++ b/java/src/main/java/vip/xumy/picture/ctrl/PictureController.java @@ -44,7 +44,7 @@ public class PictureController { if (userId == null) { rsp.setRows(new ArrayList()); rsp.setTotal(0L); - }else { + } else { example.setUser(userId); Page pages = PageHelper.startPage(example.getPage(), example.getSize()); List list = pictureService.list(example); @@ -57,7 +57,7 @@ public class PictureController { @PostMapping public AjaxResponse save(MultipartFile file, HttpServletRequest request) throws CoreException { String userId = MyUserController.getUserId(request); - if(userId == null) { + if (userId == null) { return AjaxResponse.failed("请先登录"); } pictureService.save(file, userId); @@ -66,7 +66,13 @@ public class PictureController { @PutMapping public AjaxResponse update(@RequestBody Picture picture) throws CoreException { - pictureService.update(picture); + pictureService.update(null, picture); + return new AjaxResponse(true, "更新成功"); + } + + @PostMapping("img") + public AjaxResponse updateImg(MultipartFile file, Picture picture) throws CoreException { + pictureService.update(file, picture); return new AjaxResponse(true, "更新成功"); } diff --git a/java/src/main/java/vip/xumy/picture/service/PictureService.java b/java/src/main/java/vip/xumy/picture/service/PictureService.java index d9ae9d1..9951ac8 100644 --- a/java/src/main/java/vip/xumy/picture/service/PictureService.java +++ b/java/src/main/java/vip/xumy/picture/service/PictureService.java @@ -83,7 +83,16 @@ public class PictureService { } } - public void update(Picture picture) { + public void update(MultipartFile file, Picture picture) throws CoreException { + if(file != null) { + byte[] data; + try { + data = file.getBytes(); + writeToFile(picture.getPath(), data); + } catch (IOException e) { + throw new CoreException("图片上传失败"); + } + } pictureMapper.update(picture); } diff --git a/vue/src/static/plugins/axios.ts b/vue/src/static/plugins/axios.ts index f970b79..94a9c5e 100644 --- a/vue/src/static/plugins/axios.ts +++ b/vue/src/static/plugins/axios.ts @@ -98,7 +98,6 @@ function put(url, data = {}, noMsg, noLoading) { if(!noLoading){ loading.start(); } - console.log(url); _axios.put(url, data).then( (response: any) => { handResponse(response, resolve, noMsg, noLoading); @@ -165,11 +164,17 @@ function handError(err, reject, noMsg, noLoading){ reject(err); } -function upload(file, url){ +function upload(file, url, data){ return new Promise((resolve, reject) => { let param = new FormData() // 创建form对象 param.append('file', file) // 通过append向form对象添加数据 - param.append('chunk', '0') // 添加form表单中其他数据 + if(data){ + for (const item in data) { + if (data.hasOwnProperty(item)) { + param.append(item, data[item]) // 添加form表单中其他数据 + } + } + } let config = { headers: {'Content-Type': 'multipart/form-data'} } diff --git a/vue/src/views/biz/picture.vue b/vue/src/views/biz/picture.vue index 7e95475..0a1c0f2 100644 --- a/vue/src/views/biz/picture.vue +++ b/vue/src/views/biz/picture.vue @@ -2,8 +2,8 @@