From 8546b3d285af4235a0ef615a0c6e89486ae2c806 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 17 十月 2024 21:01:37 +0800 Subject: [PATCH] 达梦不支持value改为values --- src/main/java/com/ycl/jxkg/controller/admin/UploadController.java | 66 ++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/controller/admin/UploadController.java b/src/main/java/com/ycl/jxkg/controller/admin/UploadController.java index f20305d..d25c463 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/UploadController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/UploadController.java @@ -3,23 +3,31 @@ import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.Result; +import com.ycl.jxkg.config.RuoYiConfig; import com.ycl.jxkg.config.property.SystemConfig; +import com.ycl.jxkg.domain.vo.admin.file.UeditorConfigVO; +import com.ycl.jxkg.domain.vo.admin.file.UploadResultVO; import com.ycl.jxkg.service.FileUpload; import com.ycl.jxkg.service.UserService; -import com.ycl.jxkg.vo.admin.file.UeditorConfigVO; -import com.ycl.jxkg.vo.admin.file.UploadResultVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; +import java.util.HashMap; +import java.util.UUID; @RequestMapping("/api/admin/upload") @@ -32,12 +40,16 @@ private static final String IMAGE_UPLOAD = "imgUpload"; private static final String IMAGE_UPLOAD_FILE = "upFile"; private final UserService userService; + private final RuoYiConfig ruoYiConfig; + + @Autowired - public UploadController(FileUpload fileUpload, SystemConfig systemConfig, UserService userService) { + public UploadController(FileUpload fileUpload, SystemConfig systemConfig, UserService userService, RuoYiConfig ruoYiConfig) { this.fileUpload = fileUpload; this.systemConfig = systemConfig; this.userService = userService; + this.ruoYiConfig = ruoYiConfig; } @ResponseBody @@ -45,26 +57,45 @@ public Object upload(HttpServletRequest request, HttpServletResponse response) { String action = request.getParameter("action"); if (action.equals(IMAGE_UPLOAD)) { + MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request; + MultipartFile file = multipartHttpServletRequest.getFile(IMAGE_UPLOAD_FILE); + // 妫�鏌ユ枃浠舵槸鍚︿负绌� + if (file.isEmpty()) { + return Result.fail(500, "涓婁紶鐨勬枃浠朵负绌�"); + } try { - MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request; - MultipartFile multipartFile = multipartHttpServletRequest.getFile(IMAGE_UPLOAD_FILE); - long attachSize = multipartFile.getSize(); - String imgName = multipartFile.getOriginalFilename(); - String filePath; - try (InputStream inputStream = multipartFile.getInputStream()) { - filePath = fileUpload.uploadFile(inputStream, attachSize, imgName); + // 鑾峰彇鏂囦欢鍚� + String originalFileName = StringUtils.cleanPath(file.getOriginalFilename()); + String randomName = UUID.randomUUID().toString().replace("-", "") + originalFileName.substring(originalFileName.lastIndexOf(".")); + // 鎸囧畾鏂囦欢瀛樺偍璺緞 + String uploadDir = ruoYiConfig.getUrl(); // 淇敼涓烘偍甯屾湜瀛樺偍鐨勭洰褰� + // 濡傛灉鐩綍涓嶅瓨鍦紝鍒欏垱寤虹洰褰� + File dir = new File(uploadDir); + if (!dir.exists()) { + dir.mkdirs(); } - String imageType = imgName.substring(imgName.lastIndexOf(".")); + // 鏋勫缓鐩爣鏂囦欢鐨勮矾寰� + String filePath = uploadDir + "/" + randomName; + // 灏嗘枃浠朵繚瀛樺埌鐩爣浣嶇疆 + file.transferTo(new File(filePath)); + // 杩斿洖鎴愬姛鍝嶅簲 + HashMap hashMap = new HashMap(2); + hashMap.put("name", originalFileName); + hashMap.put("url", randomName); + + String imageType = randomName.substring(randomName.lastIndexOf(".")); UploadResultVO uploadResultVO = new UploadResultVO(); - uploadResultVO.setOriginal(imgName); - uploadResultVO.setName(imgName); - uploadResultVO.setUrl(filePath); - uploadResultVO.setSize(multipartFile.getSize()); + uploadResultVO.setOriginal(randomName); + uploadResultVO.setName(randomName); + uploadResultVO.setUrl("/api/files/" + randomName); + uploadResultVO.setSize(10L); uploadResultVO.setType(imageType); uploadResultVO.setState("SUCCESS"); return uploadResultVO; } catch (IOException e) { - logger.error(e.getMessage(), e); + e.printStackTrace(); + // 杩斿洖澶辫触鍝嶅簲 + return Result.fail(500, "鏂囦欢涓婁紶澶辫触"); } } else { UeditorConfigVO ueditorConfigVO = new UeditorConfigVO(); @@ -79,7 +110,6 @@ ueditorConfigVO.setImagePathFormat(""); return ueditorConfigVO; } - return null; } -- Gitblit v1.8.0