From ebf6117ccea680eae81a91f2fa355ce3a76eb621 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期一, 15 九月 2025 18:00:37 +0800
Subject: [PATCH] 第二张报表导出0915

---
 service-api/src/main/java/com/java110/api/controller/app/file/UserDownloadFileController.java |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/controller/app/file/UserDownloadFileController.java b/service-api/src/main/java/com/java110/api/controller/app/file/UserDownloadFileController.java
index 67612e5..c558194 100644
--- a/service-api/src/main/java/com/java110/api/controller/app/file/UserDownloadFileController.java
+++ b/service-api/src/main/java/com/java110/api/controller/app/file/UserDownloadFileController.java
@@ -19,6 +19,9 @@
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 
 /**
@@ -58,8 +61,17 @@
         }
 
         String tempUrl = userDownloadFileDtos.get(0).getTempUrl();
-        String fileName = userDownloadFileDtos.get(0).getFileTypeName() + tempUrl.substring(tempUrl.lastIndexOf("/"));
-
+        String originalFileName = userDownloadFileDtos.get(0).getFileTypeName() + tempUrl.substring(tempUrl.lastIndexOf("/"));
+        String fileName ;
+        try {
+            fileName = URLEncoder.encode(originalFileName, StandardCharsets.UTF_8.name());
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+        int lastDotIndex = fileName.lastIndexOf(".");
+        if (lastDotIndex != -1) { // 纭繚瀛樺湪鐐�
+            fileName = fileName.substring(0, lastDotIndex);
+        }
         response.setHeader("content-type", "application/octet-stream");
         response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
         response.setContentType("application/octet-stream");

--
Gitblit v1.8.0