feat: 文件解密创建临时文件截取文件名
This commit is contained in:
@@ -165,7 +165,6 @@ public class IntekeyUtils {
|
||||
}
|
||||
|
||||
private static File transferToFile(MultipartFile multipartFile) {
|
||||
// 选择用缓冲区来实现这个转换即使用java 创建的临时文件 使用 MultipartFile.transferto()方法 。
|
||||
File file = null;
|
||||
try {
|
||||
String originalFilename = multipartFile.getOriginalFilename();
|
||||
@@ -173,23 +172,38 @@ public class IntekeyUtils {
|
||||
if (StrUtil.isNotBlank(originalFilename) && originalFilename.contains("%")) {
|
||||
originalFilename = java.net.URLDecoder.decode(originalFilename, "UTF-8");
|
||||
}
|
||||
if (StrUtil.isBlank(originalFilename)) {
|
||||
originalFilename = StrUtil.uuid();
|
||||
}
|
||||
log.info("originalFilename:" + originalFilename);
|
||||
int index = originalFilename.lastIndexOf(".");
|
||||
//String[] filename = originalFilename.split("\\.");
|
||||
|
||||
// 设置最大前缀和后缀长度
|
||||
int maxPrefixLength = 10;
|
||||
int maxSuffixLength = 5;
|
||||
|
||||
String prefix;
|
||||
String suffix = null;
|
||||
|
||||
if (index != -1) {
|
||||
file = File.createTempFile(originalFilename.substring(0, index), originalFilename.substring(index + 1));
|
||||
prefix = originalFilename.substring(0, Math.min(index, maxPrefixLength));
|
||||
suffix = originalFilename.substring(index, Math.min(originalFilename.length(), index + maxSuffixLength));
|
||||
} else {
|
||||
file = File.createTempFile(originalFilename, null);
|
||||
prefix = originalFilename.substring(0, Math.min(originalFilename.length(), maxPrefixLength));
|
||||
}
|
||||
|
||||
// 创建临时文件
|
||||
file = File.createTempFile(prefix, suffix);
|
||||
file.delete();
|
||||
multipartFile.transferTo(file);
|
||||
file.deleteOnExit();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error("文件解密失败", e);
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
public static InputStream getInputStreamByDecryptFile(MultipartFile file) {
|
||||
if (ENABLE) {
|
||||
return decryptFile(DECRYPT_URL, DECRYPT_APP_CODE, DECRYPT_SECRET_KEY, null, file);
|
||||
|
||||
Reference in New Issue
Block a user