From 35924055a41e1505aceacef503fd3cfa7a064a36 Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 26 八月 2025 20:24:03 +0800
Subject: [PATCH] Merge branch 'master' of http://47.93.189.255:8099/r/zhangshi_app_backend
---
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