From 7a8f9e83706cee10bd22c1b6ea9992dbabc640c8 Mon Sep 17 00:00:00 2001 From: huangzijun <888@123.cn> Date: Fri, 23 Oct 2020 14:43:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/rest/FileSubmitController.java | 17 +++++++ .../java/com/cetc32/dh/utils/FileUtil.java | 48 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/main/java/com/cetc32/dh/utils/FileUtil.java diff --git a/src/main/java/com/cetc32/dh/controller/rest/FileSubmitController.java b/src/main/java/com/cetc32/dh/controller/rest/FileSubmitController.java index 762dfdf..1ee6555 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/FileSubmitController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/FileSubmitController.java @@ -8,10 +8,17 @@ */ package com.cetc32.dh.controller.rest; +import com.cetc32.dh.utils.FileUtil; import com.cetc32.dh.service.DataSubmitService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +@Component @RestController public class FileSubmitController { DataSubmitService dataSubmitService; @@ -21,4 +28,14 @@ public class FileSubmitController { this.dataSubmitService = dataSubmitService; } + @Value("${upload-path}") + public String uploadPath; + + @RequestMapping(value = "/uploadFolder", method = RequestMethod.POST) + public String uploadFolder(MultipartFile[] folder) { + System.out.println(uploadPath); + FileUtil.saveMultiFile(uploadPath, folder); + return "ok"; + } + } diff --git a/src/main/java/com/cetc32/dh/utils/FileUtil.java b/src/main/java/com/cetc32/dh/utils/FileUtil.java new file mode 100644 index 0000000..57a0a29 --- /dev/null +++ b/src/main/java/com/cetc32/dh/utils/FileUtil.java @@ -0,0 +1,48 @@ +package com.cetc32.dh.utils; + +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; + +public class FileUtil { + + /** + * 在basePath下保存上传的文件夹 + * @param basePath + * @param files + */ + public static void saveMultiFile(String basePath, MultipartFile[] files) { + if (files == null || files.length == 0) { + return; + } + if (basePath.endsWith("/")) { + basePath = basePath.substring(0, basePath.length() - 1); + } + for (MultipartFile file : files) { + String filePath = basePath + "/" + file.getOriginalFilename(); + System.out.println(filePath); + makeDir(filePath); + File dest = new File(filePath); + try { + file.transferTo(dest); + } catch (IllegalStateException | IOException e) { + e.printStackTrace(); + } + } + } + + /** + * 确保目录存在,不存在则创建 + * @param filePath + */ + private static void makeDir(String filePath) { + if (filePath.lastIndexOf('/') > 0) { + String dirPath = filePath.substring(0, filePath.lastIndexOf('/')); + File dir = new File(dirPath); + if (!dir.exists()) { + dir.mkdirs(); + } + } + } +} \ No newline at end of file -- Gitee