From e416ac6496d52be7ac416da33ea4395cf9bcc4e9 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期五, 20 六月 2025 21:29:17 +0800
Subject: [PATCH] 修改uaid的空判断

---
 zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java |   55 ++++++++++++++++++++++---------------------------------
 1 files changed, 22 insertions(+), 33 deletions(-)

diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java
index 96a331b..e041bbd 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java
@@ -1,7 +1,13 @@
 package com.ruoyi.service.impl;
 
+import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.service.DownLoadFileService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.MediaType;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
@@ -13,43 +19,26 @@
  * @Date 2023-03-19 17:33
  */
 @Service
+@Slf4j
 public class DownLoadFileServiceImpl implements DownLoadFileService {
-    @Override
-    public AjaxResult downLoadFile(String path, HttpServletResponse response) {
 
-        File file = new File(path);
-        byte[] buffer = new byte[1024];
-        BufferedInputStream bis = null;
-        OutputStream os = null;
+    @Override
+    public void downLoadFile(String path, HttpServletResponse response) {
+
+        path = path.substring(8);
         try {
-            //鏂囦欢鏄惁瀛樺湪
-            if (file.exists()) {
-                //璁剧疆鍝嶅簲
-                response.setContentType("application/octet-stream;charset=UTF-8");
-                response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
-                response.setHeader("Content-Disposition","attachment;filename=");
-                response.setCharacterEncoding("UTF-8");
-                os = response.getOutputStream();
-                bis = new BufferedInputStream(new FileInputStream(file));
-                while(bis.read(buffer) != -1){
-                    os.write(buffer);
-                }
+            if (!FileUtils.checkAllowDownload(path)) {
+                throw new Exception(StringUtils.format("鏂囦欢鍚嶇О({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", path));
             }
-        }catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            try {
-                if(bis != null) {
-                    bis.close();
-                }
-                if(os != null) {
-                    os.flush();
-                    os.close();
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
+            String realFileName = System.currentTimeMillis() + path.substring(path.indexOf("_") + 1);
+            String filePath = RuoYiConfig.getProfile() + path;
+
+            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
+            FileUtils.setAttachmentResponseHeader(response, realFileName);
+            FileUtils.writeBytes(filePath, response.getOutputStream());
+
+        } catch (Exception e) {
+            log.error("涓嬭浇鏂囦欢澶辫触", e);
         }
-        return AjaxResult.success("鎿嶄綔鎴愬姛");
     }
 }

--
Gitblit v1.9.1