您的位置:首页 > 产品设计 > UI/UE

从request中获取当前请求中的文件列表

2015-11-23 14:22 483 查看
/**
* 获取当前请求中的文件列表
*
* @param request
* @return
*/
protected List<MultipartFile> getMultipartFileList(
HttpServletRequest request) {
List<MultipartFile> files = new ArrayList<MultipartFile>();
try {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
if (request instanceof MultipartHttpServletRequest) {
// 将request变成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator<String> iter = multiRequest.getFileNames();
// 检查form中是否有enctype="multipart/form-data"
if (multipartResolver.isMultipart(request) && iter.hasNext()) {
// 获取multiRequest 中所有的文件名
while (iter.hasNext()) {
// 一次遍历所有文件
// MultipartFile file =
// multiRequest.getFile(iter.next().toString());
// if (file != null) {
// files.add(file);
// }
// 适配名字重复的文件
List<MultipartFile> fileRows = multiRequest
.getFiles(iter.next().toString());
if (fileRows != null && fileRows.size() != 0) {
for (MultipartFile file : fileRows) {
if (file != null && !file.isEmpty()) {
files.add(file);
}
}
}
}
}
}
} catch (Exception ex) {
log.error("解析MultipartRequest错误", ex);
}
return files;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: