From d15be1c4ac0b10de5202efd381ac0acad84476c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com> Date: Fri, 7 Apr 2023 13:59:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E4=BC=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/upload/service/UploadService.java | 2 + .../service/impl/UploadServiceImpl.java | 50 ++++++++----------- .../system/upload/web/UploadController.java | 36 ++++++------- 3 files changed, 40 insertions(+), 48 deletions(-) diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/UploadService.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/UploadService.java index aa1120c9..20c4d674 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/UploadService.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/UploadService.java @@ -52,4 +52,6 @@ public interface UploadService extends IService { void uploadDownload(String fileName, HttpServletResponse response); + void deleteFile(String fileName); + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java index e03ad9b2..62add7a4 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java @@ -15,9 +15,7 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; -import java.awt.image.BufferedImage; import java.io.File; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; @@ -49,9 +47,7 @@ public class UploadServiceImpl implements UploadService { if (tempFile == null || tempFile.getSize() == 0) { throw new AppException("娌℃湁瑕佷笂浼犵殑鏂囦欢锛�"); } - if(StringUtils.isEmpty(prePath)){ - prePath = "file/fileupload"; - } + String fileName = tempFile.getOriginalFilename(); String extension = FilenameUtils.getExtension(fileName); UploadFileType type = UploadFileType.getFileType(extension); @@ -59,7 +55,7 @@ public class UploadServiceImpl implements UploadService { log.error("鏂囦欢涓婁紶澶у皬瓒呰繃闄愬埗锛屽綋鍓嶆枃浠�---" + tempFile.getSize() + "锛屽厑璁稿ぇ灏�----------" + type.getMaxSize()); throw new AppException("鏂囦欢涓婁紶澶у皬瓒呰繃闄愬埗锛�"); } - if (null != fileName && fileName.length() > 50) { + if (null != fileName && fileName.length() > 255) { throw new AppException("鏂囦欢鍚嶇О杩囬暱锛屾棤娉曚笂浼狅紒"); } @@ -69,14 +65,12 @@ public class UploadServiceImpl implements UploadService { if (!pathDir.exists()) { pathDir.mkdirs(); } - String newName = new Date().getTime() + "." + extension; - //String newName = IdUtil.fastSimpleUUID() + "." + extension; String filePathAll = filePath + newName; File uploadFile = new File(filePathAll); try { - log.info("鏂囦欢姝e湪鍌ㄥ瓨"); + log.info("鏂囦欢姝e湪鍌ㄥ瓨锛宖ilepath:"+filePathAll); tempFile.transferTo(uploadFile); } catch (Exception e) { throw new AppException(e.getMessage()); @@ -94,7 +88,7 @@ public class UploadServiceImpl implements UploadService { @Override public void fileDownload(String fileName, Boolean delete, HttpServletResponse response) { String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1); - String filePath = getFilePath(fileName); + String filePath = this.filePath + fileName; try { response.setContentType(MediaType.IMAGE_JPEG_VALUE); setAttachmentResponseHeader(response, realFileName); @@ -107,28 +101,14 @@ public class UploadServiceImpl implements UploadService { @Override public void preview(String fileName, HttpServletResponse response) { -// String filePath = this.filePath+"/preview/" + fileName; -// try { -// response.setContentType(MediaType.IMAGE_JPEG_VALUE); -// setAttachmentResponseHeader(response, fileName); -// FileUtil.writeToStream(filePath, response.getOutputStream()); -// } catch (Exception e) { -// log.error("涓嬭浇鏂囦欢澶辫触", e); -// } - - String filePath = getFilePath(fileName); + String filePath = this.filePath+"/file/preview/" + fileName; try { - File file = new File(filePath); - BufferedImage image = ImageIO.read(file); - response.setHeader("Pragma", "No-cache"); - response.setHeader("Cache-Control", "No-cache"); - response.setDateHeader("Expires", 0L); - response.setContentType("image/jpeg"); - ImageIO.write(image, "JPEG", response.getOutputStream()); - } catch (Exception var4) { - this.log.debug("鍝嶅簲鍥剧墖娑堟伅寮傚父-->" + var4.getMessage()); + response.setContentType(MediaType.IMAGE_JPEG_VALUE); + setAttachmentResponseHeader(response, fileName); + FileUtil.writeToStream(filePath, response.getOutputStream()); + } catch (Exception e) { + log.error("涓嬭浇鏂囦欢澶辫触", e); } - } @@ -179,4 +159,14 @@ public class UploadServiceImpl implements UploadService { } } + @Override + public void deleteFile(String fileName) { + String filePath = this.filePath+ fileName; + try { + FileUtil.del(filePath); + } catch (Exception e) { + log.error("涓嬭浇鏂囦欢澶辫触", e); + } + } + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/web/UploadController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/web/UploadController.java index 368495b0..744c0605 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/web/UploadController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/upload/web/UploadController.java @@ -2,6 +2,7 @@ package com.mortals.xhx.base.system.upload.web; import com.alibaba.fastjson.JSONObject; +import com.mortals.framework.annotation.UnAuth; import com.mortals.framework.exception.AppException; import com.mortals.framework.web.BaseController; import com.mortals.xhx.base.system.upload.service.UploadService; @@ -15,13 +16,10 @@ import java.util.HashMap; import java.util.Map; /** - * <p>Title: 涓婁紶鏂囦欢</p> - * <p>Description: UploadfileController </p> - * <p>Copyright: Copyright ® </p> - * <p>Company: </p> + * 涓婁紶鏂囦欢 * - * @author - * @version 1.0.0 + * @author: zxfei + * @date: 2021/11/30 10:06 */ @RestController @RequestMapping("file") @@ -31,7 +29,8 @@ public class UploadController extends BaseController { private UploadService uploadService; @RequestMapping(value = "upload") - public String doFileUpload(HttpServletRequest request, HttpServletResponse response, UploadForm form) { + @UnAuth + public String doFileUpload(HttpServletRequest request, UploadForm form) { Map<String, Object> model = new HashMap<>(); String jsonStr = ""; try { @@ -55,6 +54,7 @@ public class UploadController extends BaseController { @RequestMapping(value = "commonupload") + @UnAuth public String doFileUpload(MultipartFile file, @RequestParam(value = "prePath",defaultValue = "file/fileupload") String prePath) { Map<String, Object> model = new HashMap<>(); String jsonStr = ""; @@ -99,38 +99,38 @@ public class UploadController extends BaseController { * * @param fileName 鏂囦欢鍚嶇О */ - @GetMapping("preview/{prePath}/{fileName}") - public void preViewPath(@PathVariable(value="fileName") String fileName,@PathVariable(value="prePath") String prePath, HttpServletResponse response) { + @GetMapping("preview/{fileName}") + public void preView(@PathVariable(value="fileName") String fileName, HttpServletResponse response) { try { - uploadService.preview(prePath+"/"+fileName, response); + uploadService.preview(fileName, response); } catch (Exception e) { log.error("涓嬭浇鏂囦欢澶辫触:", e); } } /** - * 鍥剧墖棰勮 (PathVariable) + * 閫氱敤鏂囦欢涓嬭浇 * * @param fileName 鏂囦欢鍚嶇О */ - @GetMapping("preview/{fileName}") - public void preView(@PathVariable(value="fileName") String fileName, HttpServletResponse response) { + @GetMapping("fileupload/{fileName}") + public void fileupload(@PathVariable(value="fileName") String fileName, HttpServletResponse response) { try { - uploadService.preview(fileName, response); + uploadService.uploadDownload(fileName, response); } catch (Exception e) { log.error("涓嬭浇鏂囦欢澶辫触:", e); } } /** - * 閫氱敤鏂囦欢涓嬭浇 + * 閫氱敤鏂囦欢鍒犻櫎 * * @param fileName 鏂囦欢鍚嶇О */ - @GetMapping("fileupload/{fileName}") - public void fileupload(@PathVariable(value="fileName") String fileName, HttpServletResponse response) { + @GetMapping("filedel/{fileName}") + public void fileDel(@PathVariable(value="fileName") String fileName, HttpServletResponse response) { try { - uploadService.uploadDownload(fileName, response); + //uploadService.uploadDownload(fileName, response); } catch (Exception e) { log.error("涓嬭浇鏂囦欢澶辫触:", e); } -- 2.24.3