Explorar el Código

修改文件加—问题

gushoubang hace 4 meses
padre
commit
7b11a17612

+ 7 - 11
onemap-modules/onemap-file/src/main/java/com/onemap/file/controller/SysFileController.java

@@ -304,7 +304,6 @@ public class SysFileController {
             // 构建文件的完整路径
             Path filePath = Paths.get(uploadFile);
             File file = filePath.toFile();
-            String d0_name = file.getName();
             Resource resource = new FileSystemResource(file);
             // 如果资源不存在,返回404
             if (!resource.exists()) {
@@ -316,15 +315,11 @@ public class SysFileController {
                 // 如果无法确定MIME类型,则使用默认值
                 contentType = MediaType.APPLICATION_OCTET_STREAM_VALUE;
             }
+            String d0_name = file.getName();
+            String d1_name = URLEncoder.encode(d0_name, "UTF-8");
             // 设置HTTP头部信息
             HttpHeaders headers = new HttpHeaders();
-            //通过getHeaderNames获得所有头名字的Enumeration集合
-//            Enumeration<String> headNames = request.getHeaderNames();
-//            while (headNames.hasMoreElements()) {
-//                String headName = headNames.nextElement();
-//                headers.set(headName, request.getHeader(headName));
-//            }
-            headers.add(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + URLEncoder.encode(d0_name, "UTF-8") + "\"");
+            headers.add(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=" + d1_name);
             headers.setContentType(MediaType.parseMediaType(contentType));
 //            headers.setAccessControlAllowOrigin("*");
             // 返回文件资源
@@ -355,7 +350,7 @@ public class SysFileController {
             // 构建文件的完整路径
             Path filePath = Paths.get(uploadFile);
             File file = filePath.toFile();
-            String d0_name = file.getName();
+
             Resource resource = new FileSystemResource(file);
             // 如果资源不存在,返回404
             if (!resource.exists()) {
@@ -367,10 +362,11 @@ public class SysFileController {
                 // 如果无法确定MIME类型,则使用默认值
                 contentType = MediaType.APPLICATION_OCTET_STREAM_VALUE;
             }
+            String d0_name = file.getName();
+            String d1_name = URLEncoder.encode(d0_name, "UTF-8");
             // 设置HTTP头部信息
             HttpHeaders headers = new HttpHeaders();
-//            headers.add(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + URLEncoder.encode(resource.getFilename(), "UTF-8") + "\"");
-            headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(d0_name, "UTF-8") + "\"");
+            headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + d1_name);
             headers.setContentType(MediaType.parseMediaType(contentType));
 //            headers.setAccessControlAllowOrigin("*");