From ff3808a135295a2422823b16e52e61f04b83bb5b Mon Sep 17 00:00:00 2001
From: xingjinshuang <xingjs@qq.com>
Date: 星期五, 03 一月 2025 14:49:14 +0800
Subject: [PATCH] @xingjs@20250103@优化完善文件上传接口,解决文件上传报错和地址重复问题

---
 src/main/java/com/se/simu/controller/FilesUploadController.java |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/se/simu/controller/FilesUploadController.java b/src/main/java/com/se/simu/controller/FilesUploadController.java
index 9ab5d80..3174ec0 100644
--- a/src/main/java/com/se/simu/controller/FilesUploadController.java
+++ b/src/main/java/com/se/simu/controller/FilesUploadController.java
@@ -1,5 +1,6 @@
 package com.se.simu.controller;
 
+import com.se.simu.domain.vo.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
@@ -28,7 +29,7 @@
 @CrossOrigin(origins = "*")
 @RestController
 @RequestMapping("/v1/files")
-public class FilesUploadController {
+public class FilesUploadController extends BaseController {
 
 
     @Value("${simu-app.filePath}")
@@ -45,7 +46,33 @@
 
     @ApiOperation("1-涓婁紶鍗曚釜鏂囦欢")
     @PostMapping("/upload")
-    public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) throws IOException {
+    public R<Object> upload(@RequestParam("file") MultipartFile file) throws IOException {
+        if (file.isEmpty()) {
+            return success("鏂囦欢涓嶈兘涓虹┖");
+        }
+        // 鑾峰彇褰撳墠骞存湀鏃�
+        String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+        String targetDir = Paths.get(uploadedFolder, date).toString();
+        log.info("鐩爣鐩綍: {}", targetDir);
+        createDirectoriesIfNotExists(targetDir);
+        try {
+            // 鑾峰彇褰撳墠鏃跺垎绉�
+            String time = LocalTime.now().format(DateTimeFormatter.ofPattern("HHmmss"));
+            // 鏂囦欢鍦板潃鍏ㄧО
+            Path filePath = Paths.get(targetDir, time + "_" + file.getOriginalFilename());
+            // 鏂囦欢鍚�
+            file.transferTo(filePath);
+            return success(targetDir + "\\" + time + "_" + file.getOriginalFilename(), "鏂囦欢涓婁紶鎴愬姛");
+        } catch (IOException e) {
+            log.error("鏂囦欢涓婁紶澶辫触", e);
+            return fail("鏂囦欢涓婁紶澶辫触");
+        }
+    }
+
+
+    @ApiOperation("1-涓婁紶鍗曚釜鏂囦欢")
+    @PostMapping("/uploads")
+    public ResponseEntity<String> uploads(@RequestParam("file") MultipartFile file) throws IOException {
         if (file.isEmpty()) {
             return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("鏂囦欢涓嶈兘涓虹┖");
         }

--
Gitblit v1.9.3