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