From bb77e44761f61ec08e257fecc5143859eb14bd30 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 06 三月 2024 15:46:28 +0800
Subject: [PATCH] Excel导入实现

---
 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