maven
2 天以前 01c28e0b62f5cea71dd9378fefa28b7177ffedba
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,9 +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();
        String originalFilename = file.getOriginalFilename();
        if(originalFilename == null) throw new IOException("文件名不能为空");
//        URLEncoder urlEncoder = new URLEncoder();
//        String encodedFilename = urlEncoder.encode(originalFilename, StandardCharsets.UTF_8);
//        encodedFilename = encodedFilename.replaceAll("%2E",".");
//        Path tempFilePath = Paths.get(tempDir, tempId + "_" + encodedFilename);
        Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
        // 2. 确保目录存在
@@ -52,6 +61,7 @@
        tempFileRecord.setOriginalName(file.getOriginalFilename());
        tempFileRecord.setTempPath(tempFilePath.toString());
        tempFileRecord.setExpireTime(LocalDateTime.now().plusHours(2)); // 2小时后过期
        tempFileRecord.setType(type);
        tempFileMapper.insert(tempFileRecord);
        return tempFileRecord;