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 9a9e03922ccf8ab2cb46be50e78b45e67e4f731c..7b0c37ede4a3f9c91e622cc9d103269f1f444025 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/FileSubmitController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/FileSubmitController.java @@ -8,6 +8,7 @@ */ package com.cetc32.dh.controller.rest; +import com.cetc32.dh.utils.FileUtil; import com.cetc32.dh.common.response.PageDataResult; import com.cetc32.dh.common.response.ResponseResult; import com.cetc32.dh.entity.DataSubmit; @@ -15,10 +16,15 @@ import com.cetc32.dh.service.DataSubmitService; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; +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.PostMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +@Component import java.util.ArrayList; import java.util.List; @@ -32,6 +38,16 @@ 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"; + } + /** * 查询当前用户提交的所有导入请求 * @return 返回给前端分装好的结构体 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 0000000000000000000000000000000000000000..57a0a293066b884aebb7a5e755d508b48d9d20a3 --- /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