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 &reg;  </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