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