|
@@ -1,6 +1,7 @@
|
|
|
package com.zd.base.files.file.utils;
|
|
package com.zd.base.files.file.utils;
|
|
|
|
|
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
|
|
|
+import com.zd.base.files.file.handle.PublishFileInfo;
|
|
|
import com.zd.common.core.exception.ServiceException;
|
|
import com.zd.common.core.exception.ServiceException;
|
|
|
import com.zd.common.core.exception.file.FileNameLengthLimitExceededException;
|
|
import com.zd.common.core.exception.file.FileNameLengthLimitExceededException;
|
|
|
import com.zd.common.core.exception.file.FileSizeLimitExceededException;
|
|
import com.zd.common.core.exception.file.FileSizeLimitExceededException;
|
|
@@ -98,6 +99,39 @@ public class FileUploadUtils {
|
|
|
log.info("文件结束上传时间:" + DateUtils.getTime());
|
|
log.info("文件结束上传时间:" + DateUtils.getTime());
|
|
|
return pathFileName;
|
|
return pathFileName;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 生成文件存储信息(支持事件发布上传)
|
|
|
|
|
+ * @param baseDir
|
|
|
|
|
+ * @param file
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public static final PublishFileInfo generatorFileStoreInfo(String baseDir, MultipartFile file) {
|
|
|
|
|
+ int length = file.getOriginalFilename().length();
|
|
|
|
|
+ if (length > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) {
|
|
|
|
|
+ throw new ServiceException("文件名过长,请修改后再次上传");
|
|
|
|
|
+ }
|
|
|
|
|
+ //assertAllowed(file, allowedExtension);
|
|
|
|
|
+ String fileName = extractFilename(file);
|
|
|
|
|
+ String path = getPathFileName(fileName);
|
|
|
|
|
+ //发布要上传的文件信息
|
|
|
|
|
+ PublishFileInfo fileInfo = new PublishFileInfo();
|
|
|
|
|
+ fileInfo.setBaseDir(baseDir);
|
|
|
|
|
+ fileInfo.setFileName(fileName);
|
|
|
|
|
+ fileInfo.setFilePath(path);
|
|
|
|
|
+ fileInfo.setFile(file);
|
|
|
|
|
+ return fileInfo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 文件上传(支持事件发布上传)
|
|
|
|
|
+ * @param fileInfo
|
|
|
|
|
+ * @throws IOException
|
|
|
|
|
+ */
|
|
|
|
|
+ public static final void filePublishEventUpload(PublishFileInfo fileInfo) throws IOException {
|
|
|
|
|
+ File desc = getAbsoluteFile(fileInfo.getBaseDir(), fileInfo.getFileName());
|
|
|
|
|
+ fileInfo.getFile().transferTo(desc);
|
|
|
|
|
+ }
|
|
|
//
|
|
//
|
|
|
// /**
|
|
// /**
|
|
|
// * 文件上传 -不修改文件名
|
|
// * 文件上传 -不修改文件名
|
|
@@ -139,7 +173,6 @@ public class FileUploadUtils {
|
|
|
|
|
|
|
|
private static final File getAbsoluteFile(String uploadDir, String fileName){
|
|
private static final File getAbsoluteFile(String uploadDir, String fileName){
|
|
|
File desc = new File(uploadDir + File.separator + fileName);
|
|
File desc = new File(uploadDir + File.separator + fileName);
|
|
|
-
|
|
|
|
|
if (!desc.exists()) {
|
|
if (!desc.exists()) {
|
|
|
if (!desc.getParentFile().exists()) {
|
|
if (!desc.getParentFile().exists()) {
|
|
|
desc.getParentFile().mkdirs();
|
|
desc.getParentFile().mkdirs();
|