xingjinshuang
2025-01-03 c2f070a7f3329ace28f98f8e22c5a723b5693d5b
@xingjs@20250103@优化完善文件上传接口,解决文件上传报错和地址重复问题
已修改1个文件
14 ■■■■ 文件已修改
src/main/java/com/se/simu/controller/FilesUploadController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/controller/FilesUploadController.java
@@ -15,6 +15,9 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -46,11 +49,18 @@
        if (file.isEmpty()) {
            return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("文件不能为空");
        }
        String targetDir = Paths.get(uploadedFolder, "upload").toString();
        // 获取当前年月日
        String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
        String targetDir = Paths.get(uploadedFolder, date).toString();
        log.info("目标目录: {}", targetDir);
        createDirectoriesIfNotExists(targetDir);
        try {
            file.transferTo(Paths.get(targetDir, file.getOriginalFilename()));
            // 获取当前时分秒
            String time = LocalTime.now().format(DateTimeFormatter.ofPattern("HHmmss"));
            // 文件地址全称
            Path filePath = Paths.get(targetDir, time + "_" + file.getOriginalFilename());
            // 文件名
            file.transferTo(filePath);
            return ResponseEntity.ok("文件上传成功");
        } catch (IOException e) {
            log.error("文件上传失败", e);