From a70a454fa576ce060bf8c96fe771256d74c763d0 Mon Sep 17 00:00:00 2001 From: Xubx <1827135378@qq.com> Date: Tue, 3 Sep 2024 00:15:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=B4=E5=83=8F=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=92=8C=E5=A4=B4=E5=83=8F=E4=B8=8A=E4=BC=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserController.java | 18 ++++++--- .../com/bigdata/wxappserver/entity/User.java | 4 ++ .../wxappserver/service/UserService.java | 35 ++++++++++++++++++ ...ZFJwb7c29657b26486bef5fe964055080d924.jpeg | Bin 0 -> 5025 bytes ...2f8Wka28e1fa76ed0d8ee4c39351bbd531128.jpeg | Bin 0 -> 5026 bytes ...GnI7u92aa7dbf48b618e77506ab4fe132cacb.jpeg | Bin 0 -> 5025 bytes ...9zyZjb63ba3717733d9807843383277a6b2ee.jpeg | Bin 0 -> 5026 bytes ...w6OTp8b5515d01d52c4ad9a558375ce6cf5a5.jpeg | Bin 0 -> 5026 bytes 8 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 uploads/1725289271512_6Ebn1Z6ZFJwb7c29657b26486bef5fe964055080d924.jpeg create mode 100644 uploads/1725289397677_AsuddxS2f8Wka28e1fa76ed0d8ee4c39351bbd531128.jpeg create mode 100644 uploads/1725289488986_5Vb62KvGnI7u92aa7dbf48b618e77506ab4fe132cacb.jpeg create mode 100644 uploads/1725289650515_JM0iwEO9zyZjb63ba3717733d9807843383277a6b2ee.jpeg create mode 100644 uploads/1725289919366_RjMlkbew6OTp8b5515d01d52c4ad9a558375ce6cf5a5.jpeg diff --git a/src/main/java/com/bigdata/wxappserver/controller/UserController.java b/src/main/java/com/bigdata/wxappserver/controller/UserController.java index d732ab1..7209cbf 100644 --- a/src/main/java/com/bigdata/wxappserver/controller/UserController.java +++ b/src/main/java/com/bigdata/wxappserver/controller/UserController.java @@ -4,10 +4,15 @@ import com.alibaba.fastjson.JSONObject; import com.bigdata.wxappserver.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.support.ServletUriComponentsBuilder; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; /** * Created with IntelliJ IDEA. @@ -22,7 +27,6 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j public class UserController { - @Autowired UserService userService; @@ -43,6 +47,10 @@ public class UserController { @RequestMapping("delete") public JSONObject delete(@RequestParam("id")Integer id){ return userService.delete(id); + } + @PostMapping("/upload") + public JSONObject upload(@RequestParam("file") MultipartFile file) { + return userService.upload(file); } diff --git a/src/main/java/com/bigdata/wxappserver/entity/User.java b/src/main/java/com/bigdata/wxappserver/entity/User.java index 1cc06a7..42d0737 100644 --- a/src/main/java/com/bigdata/wxappserver/entity/User.java +++ b/src/main/java/com/bigdata/wxappserver/entity/User.java @@ -26,5 +26,9 @@ public class User extends Base{ * 用户地址 */ private String address; + /** + * 用户头像 + */ + private String avatarUrl; } diff --git a/src/main/java/com/bigdata/wxappserver/service/UserService.java b/src/main/java/com/bigdata/wxappserver/service/UserService.java index 4d83bd8..32e8073 100644 --- a/src/main/java/com/bigdata/wxappserver/service/UserService.java +++ b/src/main/java/com/bigdata/wxappserver/service/UserService.java @@ -11,13 +11,22 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.support.ServletUriComponentsBuilder; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @Service public class UserService extends ServiceImpl { + private static final String UPLOAD_DIR = "uploads/"; + @Transactional(rollbackFor = Exception.class) public JSONObject addOrUpdate(JSONObject jsonObject) { User user = jsonObject.toJavaObject(User.class); @@ -77,4 +86,30 @@ public class UserService extends ServiceImpl { return new JSONObject().fluentPut("data", user); } + public JSONObject upload(MultipartFile file) { + // 检查上传文件是否为空 + if (file.isEmpty()) { + return new JSONObject().fluentPut("message", "上传文件为空").fluentPut("success", false); + } + try { + // 创建上传目录 + File directory = new File(UPLOAD_DIR); + if (!directory.exists()) { + directory.mkdirs(); + } + // 保存文件到服务器 + String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename(); + Path path = Paths.get(UPLOAD_DIR + fileName); + Files.write(path, file.getBytes()); + // 构建文件的访问URL + String fileDownloadUri = ServletUriComponentsBuilder.fromCurrentContextPath() + .path("/" + UPLOAD_DIR) + .path(fileName) + .toUriString(); + return new JSONObject().fluentPut("success", true).fluentPut("fileDownloadUri", fileDownloadUri); + } catch (IOException e) { + e.printStackTrace(); + return new JSONObject().fluentPut("success", false).fluentPut("message", "上传文件失败"); + } + } } diff --git a/uploads/1725289271512_6Ebn1Z6ZFJwb7c29657b26486bef5fe964055080d924.jpeg b/uploads/1725289271512_6Ebn1Z6ZFJwb7c29657b26486bef5fe964055080d924.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6aa4c8b3e177cbf364c653fb1a54e701ea569c6b GIT binary patch literal 5025 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 E2R$@8l>h($ literal 0 HcmV?d00001 diff --git a/uploads/1725289397677_AsuddxS2f8Wka28e1fa76ed0d8ee4c39351bbd531128.jpeg b/uploads/1725289397677_AsuddxS2f8Wka28e1fa76ed0d8ee4c39351bbd531128.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a914581ab56c6a9c177e234bdda66f836ccccded GIT binary patch literal 5026 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 G%>Mu-8a#mj literal 0 HcmV?d00001 diff --git a/uploads/1725289488986_5Vb62KvGnI7u92aa7dbf48b618e77506ab4fe132cacb.jpeg b/uploads/1725289488986_5Vb62KvGnI7u92aa7dbf48b618e77506ab4fe132cacb.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..800097c2a5deb776f6322ddd646fe6bd899b1e27 GIT binary patch literal 5025 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 E4@&+#uK)l5 literal 0 HcmV?d00001 diff --git a/uploads/1725289650515_JM0iwEO9zyZjb63ba3717733d9807843383277a6b2ee.jpeg b/uploads/1725289650515_JM0iwEO9zyZjb63ba3717733d9807843383277a6b2ee.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e1c52d308927a8bddeba6a7f21fb9809155ca8bc GIT binary patch literal 5026 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 F{{aX*JbVBE literal 0 HcmV?d00001