From 760fea77a7fcfaf59ceebffc3c4355e9cfa133ea Mon Sep 17 00:00:00 2001 From: 幻雨堂 <13281837894@163.com> Date: 星期四, 29 二月 2024 10:52:48 +0800 Subject: [PATCH] 配置 --- dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/MinioUtil.java | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/MinioUtil.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/MinioUtil.java index d5ca1b3..079ef7f 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/MinioUtil.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/MinioUtil.java @@ -5,7 +5,10 @@ import io.minio.messages.DeleteError; import io.minio.messages.DeleteObject; import io.minio.messages.Item; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.compress.utils.IOUtils; +import org.dromara.common.core.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; @@ -20,6 +23,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -215,10 +219,34 @@ } /** - * 鏌ョ湅鏂囦欢瀵硅薄 - * @param bucketName 瀛樺偍bucket鍚嶇О - * @return 瀛樺偍bucket鍐呮枃浠跺璞′俊鎭� + * 涓嬭浇鏂囦欢 + * + * @param originalName 鏂囦欢璺緞 */ + public InputStream downloadFile(String originalName, HttpServletResponse response) { + try { + + InputStream file = minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(originalName).build()); + String filename = new String(originalName.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8); + if (StringUtils.isNotBlank(originalName)) { + filename = originalName; + } + response.setHeader("Content-Disposition", "attachment;filename=" + filename); + ServletOutputStream servletOutputStream = response.getOutputStream(); + int len; + byte[] buffer = new byte[1024]; + while ((len = file.read(buffer)) > 0) { + servletOutputStream.write(buffer, 0, len); + } + servletOutputStream.flush(); + file.close(); + servletOutputStream.close(); + return file; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } /** -- Gitblit v1.8.0