gpt4 book ai didi

java - 无法在 Java 中创建临时文件

转载 作者:行者123 更新时间:2023-12-01 19:47:40 25 4
gpt4 key购买 nike

我有一个 Java 方法,它接受字节数组和字符串值作为参数并返回一个 File 对象。这是代码

public File createTempFile(byte[] byteArray, String fileName) throws IOException {
String prefix = FilenameUtils.getBaseName(fileName);
String suffix = getMimeType(byteArray);
File tempFile = File.createTempFile(prefix, suffix, null);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(tempFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
fos.write(byteArray);
fos.close();
return tempFile;
}

当我尝试像这样运行它时

File myFile = tiedostoService.createTempFile(tiedosto.getContent(), attachment.getFileName());

我收到这样的 IOException

java.io.IOException: Unable to create temporary file, C:\Users\ROSHAN~1\AppData\Local\Temp\kuva1068864619970584773image\png
at java.io.File$TempDirectory.generateFile(File.java:1921)
at java.io.File.createTempFile(File.java:2010)

来自堆栈跟踪。可以看出它正在尝试创建一个类似 C:\Users\ROSHAN~1\AppData\Local\Temp\kuva1068864619970584773image\png 的文件而不是C:\Users\ROSHAN~1\AppData\Local\Temp\kuva1068864619970584773image.png

我该如何解决这个问题?我真的很感激任何形式的帮助。

最佳答案

'image/png' 是一种 Mime 类型。查看 java 中的所有 MimeType here

编写一个将 mimetype 转换为文件扩展名的实用程序。希望这会有所帮助。

关于java - 无法在 Java 中创建临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52535404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com