优化文件的 type 识别与存储

This commit is contained in:
YunaiV
2022-07-10 00:02:21 +08:00
parent b0d635e1f0
commit 33a31cfb0f
8 changed files with 15 additions and 25 deletions

View File

@ -64,19 +64,21 @@ public class FileUtils {
}
/**
* 生成文件路径
*
* @param content 文件内容
* @param originalName 原始文件名
* @return path唯一不可重复
*/
public static String generatePath(byte[] content, String originalName) {
String sha256Hex = DigestUtil.sha256Hex(content);
// 如果存在name则优先使用name的后缀
// 情况一:如果存在 name则优先使用 name 的后缀
if (StrUtil.isNotBlank(originalName)) {
String extName = FileNameUtil.extName(originalName);
return StrUtil.isBlank(extName) ? sha256Hex : sha256Hex + "." + extName;
} else {
return sha256Hex + '.' + FileTypeUtil.getType(new ByteArrayInputStream(content));
}
// 情况二:基于 content 计算
return sha256Hex + '.' + FileTypeUtil.getType(new ByteArrayInputStream(content));
}
}