🐛 #1500 修复企业微信素材下载报错问题:Prefix string too short

This commit is contained in:
BeHappyWsz
2020-04-13 20:11:39 +08:00
committed by GitHub
parent 74d8891301
commit 6f57472a02
3 changed files with 18 additions and 3 deletions

View File

@@ -63,7 +63,12 @@ public class ApacheMediaDownloadRequestExecutor extends BaseMediaDownloadRequest
fileName = String.valueOf(System.currentTimeMillis());
}
return FileUtils.createTmpFile(inputStream, FilenameUtils.getBaseName(fileName), FilenameUtils.getExtension(fileName),
String baseName = FilenameUtils.getBaseName(fileName);
if (StringUtils.isBlank(fileName) || baseName.length() < 3) {
baseName = String.valueOf(System.currentTimeMillis());
}
return FileUtils.createTmpFile(inputStream, baseName, FilenameUtils.getExtension(fileName),
super.tmpDirFile);
} finally {

View File

@@ -60,9 +60,14 @@ public class JoddHttpMediaDownloadRequestExecutor extends BaseMediaDownloadReque
return null;
}
String baseName = FilenameUtils.getBaseName(fileName);
if (StringUtils.isBlank(fileName) || baseName.length() < 3) {
baseName = String.valueOf(System.currentTimeMillis());
}
try (InputStream inputStream = new ByteArrayInputStream(response.bodyBytes())) {
return FileUtils.createTmpFile(inputStream,
FilenameUtils.getBaseName(fileName),
baseName,
FilenameUtils.getExtension(fileName),
super.tmpDirFile);
}

View File

@@ -58,8 +58,13 @@ public class OkHttpMediaDownloadRequestExecutor extends BaseMediaDownloadRequest
return null;
}
String baseName = FilenameUtils.getBaseName(fileName);
if (StringUtils.isBlank(fileName) || baseName.length() < 3) {
baseName = String.valueOf(System.currentTimeMillis());
}
File file = File.createTempFile(
FilenameUtils.getBaseName(fileName), "." + FilenameUtils.getExtension(fileName), super.tmpDirFile
baseName, "." + FilenameUtils.getExtension(fileName), super.tmpDirFile
);
try (BufferedSink sink = Okio.buffer(Okio.sink(file))) {