У меня есть метод Java, который принимает байтовый массив и значение String в качестве аргументов и возвращает объект 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
Как я могу это исправить?Буду очень признателен за любую помощь.