From 83953fac1e778b6de84efaa09bc6913fed2e0b12 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 29 十月 2024 16:48:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/ycl/jxkg/controller/student/UploadController.java | 66 ++++++++++++++++++++------------
1 files changed, 41 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/ycl/jxkg/controller/student/UploadController.java b/src/main/java/com/ycl/jxkg/controller/student/UploadController.java
index 16fa105..196740a 100644
--- a/src/main/java/com/ycl/jxkg/controller/student/UploadController.java
+++ b/src/main/java/com/ycl/jxkg/controller/student/UploadController.java
@@ -2,10 +2,14 @@
import com.ycl.jxkg.base.BaseApiController;
-import com.ycl.jxkg.base.RestResponse;
+import com.ycl.jxkg.base.Result;
+import com.ycl.jxkg.config.RuoYiConfig;
import com.ycl.jxkg.service.FileUpload;
import com.ycl.jxkg.service.UserService;
+import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@@ -13,39 +17,51 @@
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.util.HashMap;
+import java.util.UUID;
-
+@RequiredArgsConstructor
@RequestMapping("/api/student/upload")
@RestController("StudentUploadController")
public class UploadController extends BaseApiController {
- private final FileUpload fileUpload;
private final UserService userService;
+ private final RuoYiConfig ruoYiConfig;
- @Autowired
- public UploadController(FileUpload fileUpload, UserService userService) {
- this.fileUpload = fileUpload;
- this.userService = userService;
- }
-
-
- @RequestMapping("/image")
- @ResponseBody
- public RestResponse questionUploadAndReadExcel(HttpServletRequest request) {
- MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
- MultipartFile multipartFile = multipartHttpServletRequest.getFile("file");
- long attachSize = multipartFile.getSize();
- String imgName = multipartFile.getOriginalFilename();
- try (InputStream inputStream = multipartFile.getInputStream()) {
- String filePath = fileUpload.uploadFile(inputStream, attachSize, imgName);
- userService.changePicture(getCurrentUser(), filePath);
- return RestResponse.ok(filePath);
- } catch (IOException e) {
- return RestResponse.fail(2, e.getMessage());
+ @PostMapping("/image")
+ public Result questionUploadAndReadExcel(MultipartFile file) {
+ // 妫�鏌ユ枃浠舵槸鍚︿负绌�
+ if (file == null || file.isEmpty()) {
+ return Result.fail(500, "涓婁紶鐨勬枃浠朵负绌�");
}
+ String randomName = null;
+ HashMap hashMap = new HashMap(2);
+ try {
+ // 鑾峰彇鏂囦欢鍚�
+ String originalFileName = StringUtils.cleanPath(file.getOriginalFilename());
+ randomName = UUID.randomUUID().toString().replace("-", "") + originalFileName.substring(originalFileName.lastIndexOf("."));
+ // 鎸囧畾鏂囦欢瀛樺偍璺緞
+ String uploadDir = ruoYiConfig.getUrl(); // 淇敼涓烘偍甯屾湜瀛樺偍鐨勭洰褰�
+ // 濡傛灉鐩綍涓嶅瓨鍦紝鍒欏垱寤虹洰褰�
+ File dir = new File(uploadDir);
+ if (!dir.exists()) {
+ dir.mkdirs();
+ }
+ // 鏋勫缓鐩爣鏂囦欢鐨勮矾寰�
+ String filePath = uploadDir + "/" + randomName;
+ // 灏嗘枃浠朵繚瀛樺埌鐩爣浣嶇疆
+ file.transferTo(new File(filePath));
+ hashMap.put("name", originalFileName);
+ hashMap.put("url", randomName);
+ } catch (IOException e) {
+ e.printStackTrace();
+ // 杩斿洖澶辫触鍝嶅簲
+ return Result.fail(500, "鏂囦欢涓婁紶澶辫触");
+ }
+ userService.changePicture(getCurrentUser(), randomName);
+ return Result.ok(hashMap);
}
-
-
}
--
Gitblit v1.8.0