From cdf2aa0d36c5eab18cb15b0490cddce574017d66 Mon Sep 17 00:00:00 2001
From: Jinquan_Ou <Jinquan@gdut.com>
Date: 星期日, 19 三月 2023 17:47:26 +0800
Subject: [PATCH] 修改下载
---
zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java | 55 +++++++++++++++++++++++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | 10 +++++
zhang-content/src/main/java/com/ruoyi/service/DownLoadFileService.java | 14 +++++++
3 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index 6569b5d..1cad5e4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -6,6 +6,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.websocket.server.PathParam;
+import com.ruoyi.service.DownLoadFileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +35,9 @@
@Autowired
private ServerConfig serverConfig;
+
+ @Autowired
+ private DownLoadFileService downLoadFileService;
private static final String FILE_DELIMETER = ",";
@@ -69,6 +73,12 @@
}
}
+ @GetMapping("/downLoadFile")
+ public AjaxResult downLoadFile(@RequestParam("path") String path,HttpServletResponse response) throws Exception {
+ return downLoadFileService.downLoadFile(path,response);
+ }
+
+
/**
* 閫氱敤涓婁紶璇锋眰锛堝崟涓級
*/
diff --git a/zhang-content/src/main/java/com/ruoyi/service/DownLoadFileService.java b/zhang-content/src/main/java/com/ruoyi/service/DownLoadFileService.java
new file mode 100644
index 0000000..dbdb470
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/DownLoadFileService.java
@@ -0,0 +1,14 @@
+package com.ruoyi.service;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Version 1.0
+ * @Author Jin_quan Ou
+ * @Date 2023-03-19 17:32
+ */
+public interface DownLoadFileService {
+ AjaxResult downLoadFile(String path, HttpServletResponse response);
+}
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
new file mode 100644
index 0000000..96a331b
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/DownLoadFileServiceImpl.java
@@ -0,0 +1,55 @@
+package com.ruoyi.service.impl;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.service.DownLoadFileService;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+
+/**
+ * @Version 1.0
+ * @Author Jin_quan Ou
+ * @Date 2023-03-19 17:33
+ */
+@Service
+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;
+ 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);
+ }
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if(bis != null) {
+ bis.close();
+ }
+ if(os != null) {
+ os.flush();
+ os.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return AjaxResult.success("鎿嶄綔鎴愬姛");
+ }
+}
--
Gitblit v1.9.1