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 | 106 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 68 insertions(+), 38 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 ef23ce7..d25c463 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/UploadController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/UploadController.java @@ -2,24 +2,32 @@ import com.ycl.jxkg.base.BaseApiController; -import com.ycl.jxkg.base.RestResponse; -import com.ycl.jxkg.configuration.property.SystemConfig; +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.viewmodel.admin.file.UeditorConfigVM; -import com.ycl.jxkg.viewmodel.admin.file.UploadResultVM; 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,47 +57,65 @@ 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(".")); - UploadResultVM uploadResultVM = new UploadResultVM(); - uploadResultVM.setOriginal(imgName); - uploadResultVM.setName(imgName); - uploadResultVM.setUrl(filePath); - uploadResultVM.setSize(multipartFile.getSize()); - uploadResultVM.setType(imageType); - uploadResultVM.setState("SUCCESS"); - return uploadResultVM; + // 鏋勫缓鐩爣鏂囦欢鐨勮矾寰� + 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(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 { - UeditorConfigVM ueditorConfigVM = new UeditorConfigVM(); - ueditorConfigVM.setImageActionName(IMAGE_UPLOAD); - ueditorConfigVM.setImageFieldName(IMAGE_UPLOAD_FILE); - ueditorConfigVM.setImageMaxSize(2048000L); - ueditorConfigVM.setImageAllowFiles(Arrays.asList(".png", ".jpg", ".jpeg", ".gif", ".bmp")); - ueditorConfigVM.setImageCompressEnable(true); - ueditorConfigVM.setImageCompressBorder(1600); - ueditorConfigVM.setImageInsertAlign("none"); - ueditorConfigVM.setImageUrlPrefix(""); - ueditorConfigVM.setImagePathFormat(""); - return ueditorConfigVM; + UeditorConfigVO ueditorConfigVO = new UeditorConfigVO(); + ueditorConfigVO.setImageActionName(IMAGE_UPLOAD); + ueditorConfigVO.setImageFieldName(IMAGE_UPLOAD_FILE); + ueditorConfigVO.setImageMaxSize(2048000L); + ueditorConfigVO.setImageAllowFiles(Arrays.asList(".png", ".jpg", ".jpeg", ".gif", ".bmp")); + ueditorConfigVO.setImageCompressEnable(true); + ueditorConfigVO.setImageCompressBorder(1600); + ueditorConfigVO.setImageInsertAlign("none"); + ueditorConfigVO.setImageUrlPrefix(""); + ueditorConfigVO.setImagePathFormat(""); + return ueditorConfigVO; } - return null; } @RequestMapping("/image") @ResponseBody - public RestResponse questionUploadAndReadExcel(HttpServletRequest request) { + public Result questionUploadAndReadExcel(HttpServletRequest request) { MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartHttpServletRequest.getFile("file"); long attachSize = multipartFile.getSize(); @@ -93,9 +123,9 @@ try (InputStream inputStream = multipartFile.getInputStream()) { String filePath = fileUpload.uploadFile(inputStream, attachSize, imgName); userService.changePicture(getCurrentUser(), filePath); - return RestResponse.ok(filePath); + return Result.ok(filePath); } catch (IOException e) { - return RestResponse.fail(2, e.getMessage()); + return Result.fail(2, e.getMessage()); } } -- Gitblit v1.8.0