From 54688ce7c7e89fb0727dea099cc7df80a679c8cf Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 05 七月 2021 18:17:49 +0800 Subject: [PATCH] update 优化批量插入执行器 增加主键类型枚举对应生成策略 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java | 38 ++++++++++++++++++++++---------------- 1 files changed, 22 insertions(+), 16 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java index 2d1bc95..22d53c7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java @@ -1,18 +1,20 @@ package com.ruoyi.common.utils.file; -import java.io.File; -import java.io.IOException; - +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.lang.Validator; import cn.hutool.core.util.IdUtil; -import org.apache.commons.io.FilenameUtils; -import org.springframework.web.multipart.MultipartFile; +import cn.hutool.core.util.StrUtil; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.exception.file.FileNameLengthLimitExceededException; import com.ruoyi.common.exception.file.FileSizeLimitExceededException; import com.ruoyi.common.exception.file.InvalidExtensionException; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.io.FilenameUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; /** * 鏂囦欢涓婁紶宸ュ叿绫� @@ -112,7 +114,8 @@ String fileName = extractFilename(file); File desc = getAbsoluteFile(baseDir, fileName); - file.transferTo(desc); + desc = FileUtil.touch(desc); + FileUtil.writeFromStream(file.getInputStream(), desc); String pathFileName = getPathFileName(baseDir, fileName); return pathFileName; } @@ -132,22 +135,20 @@ { File desc = new File(uploadDir + File.separator + fileName); - if (!desc.getParentFile().exists()) + if (!desc.exists()) { - desc.getParentFile().mkdirs(); + if (!desc.getParentFile().exists()) + { + desc.getParentFile().mkdirs(); + } } - // 瑙e喅undertow鏂囦欢涓婁紶bug,鍥犲簳灞傚疄鐜颁笉鍚�,鏃犻渶鍒涘缓鏂版枃浠� -// if (!desc.exists()) -// { -// desc.createNewFile(); -// } return desc; } private static final String getPathFileName(String uploadDir, String fileName) throws IOException { int dirLastIndex = RuoYiConfig.getProfile().length() + 1; - String currentDir = StringUtils.substring(uploadDir, dirLastIndex); + String currentDir = StrUtil.subSuf(uploadDir, dirLastIndex); String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; return pathFileName; } @@ -188,6 +189,11 @@ throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension, fileName); } + else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION) + { + throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension, + fileName); + } else { throw new InvalidExtensionException(allowedExtension, extension, fileName); @@ -224,7 +230,7 @@ public static final String getExtension(MultipartFile file) { String extension = FilenameUtils.getExtension(file.getOriginalFilename()); - if (StringUtils.isEmpty(extension)) + if (Validator.isEmpty(extension)) { extension = MimeTypeUtils.getExtension(file.getContentType()); } -- Gitblit v1.9.3