From 724d3ca4b76a4b2b71949d9007577651fd9513ae Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 21 May 2024 15:18:39 +0800 Subject: [PATCH] =?UTF-8?q?uploadFirmware=20=E4=B8=8A=E4=BC=A0=E5=9B=BA?= =?UTF-8?q?=E4=BB=B6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/common/CommonController.java | 4 ++++ .../src/main/resources/application-dev.yml | 3 ++- .../src/main/resources/application-prd.yml | 5 +++-- .../src/main/resources/application-pre.yml | 5 +++-- .../src/main/resources/application-sit.yml | 7 +++---- .../common/util/file/FileUploadUtils.java | 16 +++++++++++++--- jsowell-ui/.env.staging | 8 ++++++-- 7 files changed, 34 insertions(+), 14 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/common/CommonController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/common/CommonController.java index bd2fcc331..3605b7888 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/common/CommonController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/common/CommonController.java @@ -11,6 +11,7 @@ import com.jsowell.framework.config.ServerConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; @@ -39,6 +40,9 @@ public class CommonController { private static final String FILE_DELIMETER = ","; + @Value("${remoteUpdate.path}") + private String FIRMWARE_FILEPATH; + /** * 通用下载请求 * diff --git a/jsowell-admin/src/main/resources/application-dev.yml b/jsowell-admin/src/main/resources/application-dev.yml index 8ea37eaa2..6263c753e 100644 --- a/jsowell-admin/src/main/resources/application-dev.yml +++ b/jsowell-admin/src/main/resources/application-dev.yml @@ -192,4 +192,5 @@ remoteUpdate: server: http://apitest.jsowellcloud.com port: 21 username: jsowellftp - password: ZzJeZRB6fDRcnfkz \ No newline at end of file + password: ZzJeZRB6fDRcnfkz + path: /www/wwwroot/jsowellftp \ No newline at end of file diff --git a/jsowell-admin/src/main/resources/application-prd.yml b/jsowell-admin/src/main/resources/application-prd.yml index 3a86e817f..241a19b63 100644 --- a/jsowell-admin/src/main/resources/application-prd.yml +++ b/jsowell-admin/src/main/resources/application-prd.yml @@ -1,7 +1,7 @@ # 项目相关配置 jsowell: # 文件路径 示例( Windows配置D:/jsowell/uploadPath,Linux配置 /home/jsowell/uploadPath) - profile: /var/ftp/firmware + profile: /www/wwwroot/jsowellftpprd # 数据源配置 spring: @@ -188,4 +188,5 @@ remoteUpdate: server: http://apitest.jsowellcloud.com port: 21 username: jsowellftpprd - password: ADHJAYinpXEctwDA \ No newline at end of file + password: ADHJAYinpXEctwDA + path: /www/wwwroot/jsowellftpprd \ No newline at end of file diff --git a/jsowell-admin/src/main/resources/application-pre.yml b/jsowell-admin/src/main/resources/application-pre.yml index e42ecd1ab..6ca278196 100644 --- a/jsowell-admin/src/main/resources/application-pre.yml +++ b/jsowell-admin/src/main/resources/application-pre.yml @@ -1,7 +1,7 @@ # 项目相关配置 jsowell: # 文件路径 示例( Windows配置D:/jsowell/uploadPath,Linux配置 /home/jsowell/uploadPath) - profile: /var/ftp/firmware + profile: /www/wwwroot/jsowellftpprd # 数据源配置 spring: @@ -188,4 +188,5 @@ remoteUpdate: server: http://apitest.jsowellcloud.com port: 21 username: jsowellftpprd - password: ADHJAYinpXEctwDA \ No newline at end of file + password: ADHJAYinpXEctwDA + path: /www/wwwroot/jsowellftpprd \ No newline at end of file diff --git a/jsowell-admin/src/main/resources/application-sit.yml b/jsowell-admin/src/main/resources/application-sit.yml index ad4c75a8c..85d403610 100644 --- a/jsowell-admin/src/main/resources/application-sit.yml +++ b/jsowell-admin/src/main/resources/application-sit.yml @@ -1,9 +1,7 @@ # 项目相关配置 jsowell: # 文件路径 示例( Windows配置D:/jsowell/uploadPath,Linux配置 /home/jsowell/uploadPath) - profile: /var/ftp/firmware - - + profile: /www/wwwroot/jsowellftp # 数据源配置 spring: @@ -193,4 +191,5 @@ remoteUpdate: server: http://apitest.jsowellcloud.com port: 21 username: jsowellftp - password: ZzJeZRB6fDRcnfkz \ No newline at end of file + password: ZzJeZRB6fDRcnfkz + path: /www/wwwroot/jsowellftp \ No newline at end of file diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/file/FileUploadUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/file/FileUploadUtils.java index 694d0f85c..1cfc21237 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/file/FileUploadUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/file/FileUploadUtils.java @@ -98,15 +98,20 @@ public class FileUploadUtils { public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension) throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException, InvalidExtensionException { + // 文件名长度 int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length(); + // 文件名长度 不能大于100 if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) { throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH); } + // 文件大小校验 assertAllowed(file, allowedExtension); + // 编码文件名 String fileName = extractFilename(file); + // 获取绝对文件路径 String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath(); file.transferTo(Paths.get(absPath)); return getPathFileName(baseDir, fileName); @@ -163,11 +168,16 @@ public class FileUploadUtils { * 编码文件名 */ public static final String extractFilename(MultipartFile file) { - // return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); - // return StringUtils.format("{}/{}.{}", DateUtils.datePath(), FilenameUtils.getBaseName(file.getOriginalFilename()), getExtension(file)); return StringUtils.format("{}.{}", FilenameUtils.getBaseName(file.getOriginalFilename()), getExtension(file)); } + /** + * 获取绝对文件 + * @param uploadDir + * @param fileName + * @return + * @throws IOException + */ public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException { File desc = new File(uploadDir + File.separator + fileName); @@ -179,10 +189,10 @@ public class FileUploadUtils { return desc; } + // 获取文件路径名称 public static final String getPathFileName(String uploadDir, String fileName) throws IOException { int dirLastIndex = JsowellConfig.getProfile().length() + 1; String currentDir = StringUtils.substring(uploadDir, dirLastIndex); - // return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; return currentDir + "/" + fileName; } diff --git a/jsowell-ui/.env.staging b/jsowell-ui/.env.staging index 9d4c40f1c..f7b83c5ab 100644 --- a/jsowell-ui/.env.staging +++ b/jsowell-ui/.env.staging @@ -1,10 +1,14 @@ # 页面标题 VUE_APP_TITLE = 万车充后台管理系统 -NODE_ENV = production - # 测试环境配置 ENV = 'staging' # 万车充后台管理系统/测试环境 VUE_APP_BASE_API = '/dev-api' + +# 开发环境配置 +NODE_ENV = production + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true