一般是直接可以通过MultipartFile multipartFile = new CommonsMultipartFile(file)
就可以完成转换,但是如果发现文件格式不对或者被压缩就需要手动填充file的属性并转成OutputStream 然后通过write方法把file写入OutputStream
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
public MultipartFile covertFileToMultipartFile(File file) {
//传入一个File 类型的文件
//new DiskFileItem接收参数中第二个是contentType类型,
//可以通过MediaType.MULTIPART_FORM_DATA_VALUE查看org.springframework.http中有哪些类型
DiskFileItem item = new DiskFileItem("file"
, "multipart/form-data"
, true
, file.getName()
, (int) file.length()
, file.getParentFile());
OutputStream os = item.getOutputStream();
os.write(FileUtils.readFileToByteArray(file));
MultipartFile multipartFile= new CommonsMultipartFile(item);
return multipartFile;
}