From 23ca5b2b418630b54b58b24621416a7b40c1d3b1 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 10 七月 2025 17:25:14 +0800
Subject: [PATCH] yys  修改导入导出bug

---
 src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
index f228680..442b090 100644
--- a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -6,6 +6,7 @@
 import com.ruoyi.other.pojo.TempFile;
 import com.ruoyi.other.service.TempFileService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.catalina.util.URLEncoder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -13,6 +14,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -32,10 +34,16 @@
 
     // 涓婁紶鍒颁复鏃剁洰褰�
     @Override
-    public TempFile uploadFile(MultipartFile file) throws IOException {
+    public TempFile uploadFile(MultipartFile file,Integer type) throws IOException {
         // 1. 鐢熸垚涓存椂鏂囦欢ID鍜岃矾寰�
         String tempId = UUID.randomUUID().toString();
-        Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
+        String originalFilename = file.getOriginalFilename();
+        if(originalFilename == null) throw new IOException("鏂囦欢鍚嶄笉鑳戒负绌�");
+        URLEncoder urlEncoder = new URLEncoder();
+        String encodedFilename = urlEncoder.encode(originalFilename, StandardCharsets.UTF_8);
+        Path tempFilePath = Paths.get(tempDir, tempId + "_" + encodedFilename);
+
+//        Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
 
         // 2. 纭繚鐩綍瀛樺湪
         Path parentDir = tempFilePath.getParent();
@@ -52,6 +60,7 @@
         tempFileRecord.setOriginalName(file.getOriginalFilename());
         tempFileRecord.setTempPath(tempFilePath.toString());
         tempFileRecord.setExpireTime(LocalDateTime.now().plusHours(2)); // 2灏忔椂鍚庤繃鏈�
+        tempFileRecord.setType(type);
         tempFileMapper.insert(tempFileRecord);
 
         return tempFileRecord;

--
Gitblit v1.9.3