81,090
社区成员
发帖
与我相关
我的任务
分享
<form id="fileUploadForm" name="fileUploadForm" method="post"
action="./BackGroundService.action" enctype="multipart/form-data" >
<input type="file" name="file1" /><br>
<input type="file" name="file2" /><br>
<input type="file" name="file3" /><br>
</form>
//得到HttpServletRequest
HttpServletRequest request = ServletActionContext.getRequest();
//判断request是否是MultiPartRequestWrapper
if (!(ServletActionContext.getRequest() instanceof MultiPartRequestWrapper)) {
return ERROR;
}
MultiPartRequestWrapper multiWrapper = (MultiPartRequestWrapper) ServletActionContext.getRequest();
Enumeration<String> e = multiWrapper.getFileParameterNames();
if (e != null) {
while (e.hasMoreElements()) {
//这个inputName就是页面的input控件的name,在你的例子中,这个就是file1,file2,file3
String inputName = (String) e.nextElement();
//MIME 类型
String[] contentType = multiWrapper.getContentTypes(inputName);
//上传文件本身的名字,如果是有中文乱码请对字符集做转换
String[] fileName = multiWrapper.getFileNames(inputName);
//上传的文件
File[] file = multiWrapper.getFiles(inputName);
if (file != null) {
for (int i = 0; i < file.length; i++) {
log.info("===upload file: " + inputName + " " + contentType[i] + " " + fileName[i] + " " + file[i]);
}
}
}
}
<input type="file" name="file" />
<input type="file" name="file" />
<input type="file" name="file" />
name属性都一样,资源模型层用List<MultipartFile> images,再转换成需要的对象List<UploadImage> images至于区分,转换的时候调用MultipartFile的getName()方法就能拿到文件名字