想利用MultipartRequest的getFileName方法来一次获取多个上传的文件名字时,得到的不是文件的名字,而是 input 的name属性

最后找到了答案,解决方法,参照http://stackoverflow.com/questions/13946859/retrieve-the-file-name-while-using-file-type-input

原来的代码

   @RequestMapping(value = {"multipleFileUpload"}, method =  {RequestMethod.GET, RequestMethod.POST})
public String multipleFileUpload(
ModelMap modelMap,
MultipartHttpServletRequest request,
HttpServletResponse response) throws IOException {
Iterator<String> itr = request.getFileNames();
while(itr.hasNext()){
String str = itr.next(); //这个文件并不是原来的文件名
multipartFile = (CommonsMultipartFile)request.getFile(str);
MultipartFile mpf = request.getFile(str);
InputStream is = mpf.getInputStream();
byte[] bytes = IOUtils.toByteArray(is);
CompressWorker worker = new CompressWorker(statusMap, bytes, str, compressSize, jobId);
worker.start();
}
modelMap.addAttribute("json", new ReturnMap("线程已经启动"));
return "json";
}

  

修改后的代码

   @RequestMapping(value = {"multipleFileUpload"}, method =  {RequestMethod.GET, RequestMethod.POST})
public String multipleFileUpload(
ModelMap modelMap,
MultipartHttpServletRequest request,
HttpServletResponse response) throws IOException {
CommonsMultipartFile multipartFile = null;
Iterator<String> itr = request.getFileNames();
while(itr.hasNext()){
String str = itr.next();
multipartFile = (CommonsMultipartFile)request.getFile(str);
String fileName = multipartFile.getOriginalFilename(); //原文件名
MultipartFile mpf = request.getFile(str);
InputStream is = mpf.getInputStream();
byte[] bytes = IOUtils.toByteArray(is);
CompressWorker worker = new CompressWorker(statusMap, bytes, fileName, compressSize, jobId);
worker.start();
}
modelMap.addAttribute("json", new ReturnMap("线程已经启动"));
return "json";
}

  

最新文章

  1. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
  2. 利用box-shadow实现伪边框透明到图片
  3. EF之ExecuteSqlCommand更新出现无效的解决方案
  4. m.jd.com首页中的js效果
  5. Karma 4 - Karma 集成 Webpack 进行单元测试
  6. sublime修改字体大小
  7. EXP-00091 Exporting questionable statistics
  8. #添加屏蔽IP LINUX
  9. Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下
  10. Perception(0-1.1)
  11. 正确使用#include和前置声明(forward declaration)
  12. Javascript之学习笔记每日更新
  13. Python编码_ASCII_Unicode_UTF-8
  14. IEEE Trans 2007 Signal Recovery From Random Measurements via OMP
  15. pandas中的时间序列基础
  16. LOJ#6433. 「PKUSC2018」最大前缀和 状压dp
  17. 【独家】终生受用的Redis高可用技术解决方案大全
  18. a label can only be part of statement and a declaratioin is not a statement
  19. Numpy 的ndarray
  20. Mac OS 安装phpMyAdmin

热门文章

  1. python之socket编程(一)
  2. python 函数、参数及参数解构
  3. Levenberg-Marquardt迭代(LM算法)-改进Guass-Newton法
  4. 安装LoadRunner各种提示解决方法(转载)
  5. 使用说明(2S)
  6. rsyslog服务日志报错分析1
  7. 笔记-8:使用turtle库进行图形绘制
  8. 使用HSI配置系统时钟
  9. 使用Python比较MySQL数据库中两个数据库的表结构--转载
  10. 【规律】Farey Sums