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