MultipartFile 和 File 之间相互转换

之前有记录一篇上传文件的博客,MultipartFile转化为File的问题,很多人卡在这里,特整理以下转换的方法

 MultipartFile 转换 File

第一种 

//把MultipartFile转化为File 
File file = new File(multipartFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(multipartFile.getInputStream(),file);

//删除临时文件
if(file.exists()){
    file.delete();
}

第二种

//把MultipartFile转化为File
CommonsMultipartFile cmf = (CommonsMultipartFile)multipartFile;
DiskFileItem dfi = (DiskFileItem) cmf.getFileItem();
File file = dfi.getStoreLocation();

File 转换 MultipartFile

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem;
File paramsfile = new File("D:\test.txt");
FileItem fileItem = new DiskFileItem("file", Files.probeContentType(paramsfile.toPath()), false, paramsfile.getName(), (int) paramsfile.length(), paramsfile.getParentFile());
try (InputStream input = new FileInputStream(paramsfile); OutputStream os = fileItem.getOutputStream()) {
    IOUtils.copy(input, os);
} catch (Exception e) {
    throw new IllegalArgumentException("Invalid file: " + e, e);
}
MultipartFile multipartFiles  = new CommonsMultipartFile(fileItem);
发布了45 篇原创文章 · 获赞 51 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_40162735/article/details/103455232