首先转换时需要用到commons-fileupload-1.3.2.jar包,若项目中没有就先加入jar包,实现代码如下:

  1、根据File创建FileItem

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream; import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile; /*
创建FileItem
*/
private FileItem createFileItem(File file, String fieldName) {
FileItemFactory factory = new DiskFileItemFactory(16, null);
FileItem item = factory.createItem(fieldName, "text/plain", true, file.getName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
try {
FileInputStream fis = new FileInputStream(file);
OutputStream os = item.getOutputStream();
while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
return item;
}

  2、通过FileItem对象可以轻松获得CommonsMultipartFile对象,转换成MultiPartFile对象即可使用。

MultipartFile mfile = new CommonsMultipartFile(fileItem);

最新文章

  1. 制作OS X 10.9 Mavericks 安装U盘
  2. 纪念逝去的岁月——C++实现一个栈(使用类模板)
  3. Leetcode: Number of Islands II && Summary of Union Find
  4. .net中怎么使用CKEditor
  5. 一道简单的动态规划题目——House Robber
  6. silverlight圆球滚动
  7. C# 封装 System.Data.SQLite
  8. for语句之打印三角形问题
  9. JavaWeb程序连接SQLserver数据库
  10. zoj 3962 Seven Segment Display 数位dp
  11. [转]HTML5 script 标签的 crossorigin 属性到底有什么用?
  12. redis的使用与 django的redis的使用
  13. BZOJ 1143: [CTSC2008]祭祀river(最大独立集)
  14. CentOS7.5下MYSQL8.0.11
  15. hdu 3038(扩展并查集)
  16. php数组按值的大小排序
  17. Spring Cloud Eureka 实现服务注册与发现
  18. HT7A6312—— 离线开关电源小功率初级转换开关IC 记录总结
  19. docker-3-常用命令(下)
  20. 【洛谷P1083】[NOIP2012]借教室

热门文章

  1. Postgres 数据库字符集更改 ERROR: new encoding (UTF8) is incompatible
  2. log显示error时的堆栈信息理解和分析
  3. 大型项目开发: 隔离 (《大规模C++程序设计》书摘)
  4. HDU 3247 Resource Archiver (AC自己主动机 + BFS + 状态压缩DP)
  5. zoj 1648 Circuit Board
  6. Sqlite3插入大量数据性能优化
  7. 关于oracle 11g导出数据时 报 ORA 1455错误的处理
  8. webService总结(一)——使用CXF公布和调用webService(不使用Spring)
  9. luogu3157 动态逆序对
  10. 软件-版本控制:VCS(版本控制系统)