MultipartFileとFileの相互変換

1354 ワード

以前、アップロードされたファイルを記録したブログがありましたが、MultipartFileがFileに変換された問題で、多くの人がここにカードを持っていて、以下の変換方法を整理しています.
MultipartFile変換File
第1種
// MultipartFile   File 
File file = new File(multipartFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(multipartFile.getInputStream(),file);

//      
if(file.exists()){
    file.delete();
}

第2種
// 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);

以上が本文のすべての内容で、みんなの学習に役立つことを望んで、評論の交流を歓迎します.知識点までゲットできるので注目点を忘れずにいいね~~~