【功能修复】修复框架同文件多处使用将致错乱问题

pull/1/head
zengchenxi 9 months ago
parent 10120ffa4e
commit 916a21132e

@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.framework.common.util.io;
import cn.hutool.core.io.FileTypeUtil; import cn.hutool.core.io.FileTypeUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.io.file.FileNameUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.crypto.digest.DigestUtil;
@ -64,7 +65,7 @@ public class FileUtils {
} }
/** /**
* * 使
* *
* @param content * @param content
* @param originalName * @param originalName
@ -81,4 +82,20 @@ public class FileUtils {
return sha256Hex + '.' + FileTypeUtil.getType(new ByteArrayInputStream(content)); return sha256Hex + '.' + FileTypeUtil.getType(new ByteArrayInputStream(content));
} }
/**
* uuid
*
* @param originalName
* @return path
*/
public static String generatePath(String originalName) {
String uuid = UUID.randomUUID().toString(true);
// 情况一:如果存在 name则优先使用 name 的后缀
if (StrUtil.isNotBlank(originalName)) {
String extName = FileNameUtil.extName(originalName);
return StrUtil.isBlank(extName) ? uuid : uuid + "." + extName;
}
return uuid;
}
} }

@ -42,7 +42,7 @@ public class FileServiceImpl implements FileService {
// 计算默认的 path 名 // 计算默认的 path 名
String type = FileTypeUtils.getMineType(content, name); String type = FileTypeUtils.getMineType(content, name);
if (StrUtil.isEmpty(path)) { if (StrUtil.isEmpty(path)) {
path = FileUtils.generatePath(content, name); path = FileUtils.generatePath(name);
} }
// 如果 name 为空,则使用 path 填充 // 如果 name 为空,则使用 path 填充
if (StrUtil.isEmpty(name)) { if (StrUtil.isEmpty(name)) {

Loading…
Cancel
Save