From b2174bdc2c7906b0f6fa65be7a8564e64107581f Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 25 三月 2025 14:18:18 +0800 Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 41 insertions(+), 2 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 d58b107..6378290 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 @@ -1,9 +1,13 @@ package com.ruoyi.web.controller.common; +import java.io.IOException; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.ruoyi.common.utils.file.MinioUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -28,14 +32,16 @@ */ @RestController @RequestMapping("/common") -public class CommonController -{ +public class CommonController { private static final Logger log = LoggerFactory.getLogger(CommonController.class); @Autowired private ServerConfig serverConfig; private static final String FILE_DELIMETER = ","; + + @Resource + private MinioUtils minioUtils; /** * 閫氱敤涓嬭浇璇锋眰 @@ -160,4 +166,37 @@ log.error("涓嬭浇鏂囦欢澶辫触", e); } } + + /** + * 閫氱敤鏂囦欢涓嬭浇鏂规硶 + * + * @param fileUrl Minio涓殑鏂囦欢璺緞锛堝锛歩mages/2023/report.pdf锛� + * @param fileName 涓嬭浇鏃舵樉绀虹殑鏂囦欢鍚嶏紙濡傦細骞村害鎶ュ憡.pdf锛� + * @param response HttpServletResponse瀵硅薄 + */ + @GetMapping("/downloadMinio") + public void downloadFile(String fileUrl, String fileName, HttpServletResponse response) { + Logger logger = LoggerFactory.getLogger(this.getClass()); + if (StringUtils.isBlank(fileUrl) || StringUtils.isBlank(fileName)) { + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + try (PrintWriter writer = response.getWriter()) { + writer.write("鏂囦欢璺緞鍜屾枃浠跺悕涓嶈兘涓虹┖"); + } catch (IOException e) { + logger.error("璁剧疆鍝嶅簲淇℃伅鍑洪敊", e); + } + return; + } + String bucketName = "radio-frequency"; + try { + minioUtils.download(bucketName, fileUrl, fileName, response); + } catch (Exception e) { + logger.error("鏂囦欢涓嬭浇澶辫触", e); + response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + try (PrintWriter writer = response.getWriter()) { + writer.write("鏂囦欢涓嬭浇澶辫触: " + e.getMessage()); + } catch (IOException ioException) { + logger.error("璁剧疆鍝嶅簲淇℃伅鍑洪敊", ioException); + } + } + } } -- Gitblit v1.9.3