From f33f56fb2ebfea915b93467698ca6b243ee934ba Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 16 七月 2024 17:32:49 +0800
Subject: [PATCH] 导出完善
---
src/main/java/com/mindskip/xzs/controller/common/UploadController.java | 40 +++++++++++++++++++++++++++++++++++++---
1 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/common/UploadController.java b/src/main/java/com/mindskip/xzs/controller/common/UploadController.java
index 4c1f474..70e5a9e 100644
--- a/src/main/java/com/mindskip/xzs/controller/common/UploadController.java
+++ b/src/main/java/com/mindskip/xzs/controller/common/UploadController.java
@@ -3,14 +3,20 @@
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.configuration.RuoYiConfig;
import lombok.RequiredArgsConstructor;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.Resource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.file.Files;
import java.util.HashMap;
import java.util.UUID;
@@ -63,4 +69,32 @@
}
}
+ /**
+ * 涓嬭浇鏂囦欢锛堝崟涓級
+ */
+ @GetMapping("/download")
+ public void download(@RequestParam String url, @RequestParam String fileName, HttpServletResponse response) throws Exception
+ {
+ // 鎻愬彇鏂囦欢璺緞
+ String filePath = ruoYiConfig.getUrl() + File.separator + url;
+
+ File file = new File(filePath);
+
+ // 妫�鏌ユ枃浠舵槸鍚﹀瓨鍦�
+ if (!file.exists()) {
+ throw new RuntimeException("鏂囦欢涓嶅瓨鍦�");
+ }
+
+ // 璇诲彇鏂囦欢鍐呭
+ byte[] fileContent = Files.readAllBytes(file.toPath());
+
+ // 璁剧疆鍝嶅簲澶�
+ response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+ response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
+
+ // 灏嗘枃浠跺唴瀹瑰啓鍏ュ搷搴旇緭鍑烘祦
+ response.getOutputStream().write(fileContent);
+ response.getOutputStream().flush();
+ }
+
}
--
Gitblit v1.8.0