SpringBoot整合Minio获取文件时会生成一个文件保存在项目中target目录下,想将它干掉我们就得把方法中生成的文件容器换成临时文件容器,代码如下:
public static FileInputStream convertToFileInputStream(InputStream inputStream) throws IOException {
File tempFile = File.createTempFile("temp", ".tmp");
tempFile.deleteOnExit();
try (FileOutputStream fos = new FileOutputStream(tempFile)) {
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) != -1) {
fos.write(bytes, 0, len);
}
}
return new FileInputStream(tempFile);
}
我们直接用File.createTempFile()方法创建一个临时文件容器,然后再调用File.deleteOnExit()方法,该方法会让文件容器使用完以后自动销毁,这样就会避免我们生成的临时文件会自动保存到项目中了!