package com.dji.sample.patches.utils; import org.apache.http.entity.ContentType; import org.apache.tomcat.util.http.fileupload.FileItem; import org.springframework.http.MediaType; import org.springframework.mock.web.MockMultipartFile; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile; import java.io.*; import java.util.UUID; public class MultipartFileTOFileUtil { //MultiparFile转File public File multipartFile2File(MultipartFile multipartFile) { String tmpFileDir = null; // 创建临时文件 String randomFileName = UUID.randomUUID().toString(); tmpFileDir = "D:/tmp/" + randomFileName; File file = new File(tmpFileDir); InputStream inputStream = null; FileOutputStream outputStream = null; try { // 获取文件输入流 inputStream = multipartFile.getInputStream(); if (!file.exists()) { file.createNewFile(); } // 创建输出流 outputStream = new FileOutputStream(file); byte[] bytes = new byte[1024]; int len; // 写入到创建的临时文件 while ((len = ((InputStream) inputStream).read(bytes)) > 0) { outputStream.write(bytes, 0, len); } } catch (Exception e) { throw new RuntimeException(e); } ZipUtil.deleteFiles(tmpFileDir); return file; } //File转MultiparFile public static MultipartFile convert(File file) throws IOException { FileInputStream input = new FileInputStream(file); MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "application/octet-stream", input); return multipartFile; } }