方法1:使用transferTo()方法 MultipartFile提供了一个transferTo(File dest)方法,可以直接将文件内容写入到指定的File中。
import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException;
public class MultipartFileToFileConverter {
public static File convert(MultipartFile multipartFile) throws IOException {
// 创建一个临时文件
File file = File.createTempFile("temp", null);
// 将MultipartFile的内容写入临时文件
multipartFile.transferTo(file);
// 确保文件在JVM退出时删除
file.deleteOnExit();
return file;
}
public static void main(String[] args) {
// 假设你有一个MultipartFile对象
MultipartFile multipartFile = ...; // 从请求中获取
try {
File file = convert(multipartFile);
System.out.println("文件已保存到: " + file.getAbsolutePath());
} catch (IOException e) {
e.printStackTrace();
}
}
}