From 9f6077b8e3a0d549f5fdcd779ced281b446b4aad Mon Sep 17 00:00:00 2001 From: gaohanghang <1341947277@qq.com> Date: 2019年4月11日 22:24:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=B9=E6=8D=AE=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=BF=90=E8=A1=8C=E7=9A=84=E6=93=8D=E4=BD=9C=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=A0=B9=E7=9B=AE=E5=BD=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FileController.java | 26 +++++++++++++++++-- .../ramostear/application/util/FileUtil.java | 18 +++++++++++++ src/main/resources/application.properties | 4 ++- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/ramostear/application/util/FileUtil.java diff --git a/src/main/java/com/ramostear/application/controller/FileController.java b/src/main/java/com/ramostear/application/controller/FileController.java index 1d0266a..5aaf860 100644 --- a/src/main/java/com/ramostear/application/controller/FileController.java +++ b/src/main/java/com/ramostear/application/controller/FileController.java @@ -1,6 +1,7 @@ package com.ramostear.application.controller; import com.ramostear.application.model.FileInfo; +import com.ramostear.application.util.FileUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; import org.springframework.http.HttpHeaders; @@ -25,9 +26,16 @@ @Controller public class FileController { + private static String fileUploadRootDir = null; - @Value ( "${file.upload.root.dir}" ) - String fileUploadRootDir; + @Value ( "${file.upload.root.dir.windows}" ) + String fileUploadRootDirWindows; + + @Value ( "${file.upload.root.dir.mac}" ) + String fileUploadRootDirMac; + + @Value ( "${file.upload.root.dir.linux}" ) + String fileUploadRootDirLinux; private static Map fileRepository = new HashMap(); @@ -39,6 +47,20 @@ public void initFileRepository(){ fileRepository.put ( file1.getName (),file1 ); fileRepository.put ( file2.getName (),file2 ); fileRepository.put ( file3.getName (),file3 ); + + // 判断文件夹是否存在,不存在就创建 + String osName = System.getProperty("os.name"); + if (osName.startsWith("Mac OS")) { + // 苹果 + fileUploadRootDir = fileUploadRootDirMac; + } else if (osName.startsWith("Windows")) { + // windows + fileUploadRootDir = fileUploadRootDirWindows; + } else { + // unix or linux + fileUploadRootDir = fileUploadRootDirLinux; + } + FileUtil.createDirectories(fileUploadRootDir); } @GetMapping("/files") diff --git a/src/main/java/com/ramostear/application/util/FileUtil.java b/src/main/java/com/ramostear/application/util/FileUtil.java new file mode 100644 index 0000000..0ebb691 --- /dev/null +++ b/src/main/java/com/ramostear/application/util/FileUtil.java @@ -0,0 +1,18 @@ +package com.ramostear.application.util; + +import java.io.File; + +public class FileUtil { + public static void createDirectories(String pathname) { + File directories = new File(pathname); + if (directories.exists()) { + System.out.println("文件上传根目录已存在"); + } else { // 如果目录不存在就创建目录 + if (directories.mkdirs()) { + System.out.println("创建多级目录成功"); + } else { + System.out.println("创建多级目录失败"); + } + } + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c806669..b69e90b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,4 +4,6 @@ spring.freemarker.suffix=.html spring.freemarker.enabled=true spring.freemarker.charset=UTF-8 spring.freemarker.template-loader-path=classpath:/templates/ -file.upload.root.dir = C:/work/upload/ \ No newline at end of file +file.upload.root.dir.windows = C:/work/upload/ +file.upload.root.dir.mac = ~/upload/ +file.upload.root.dir.linux = ~/upload/ \ No newline at end of file

AltStyle によって変換されたページ (->オリジナル) /