我需要一次加载未知数量的文件.我找到了一个例子,它适用于已知数量的文件:
标记:
<form method="POST" enctype="multipart/form-data">
<input name="files[0]" type="file" />
<input name="files[1]" type="file" />
<input type="submit" value="Send"/>
</form>
Run Code Online (Sandbox Code Playgroud)
码:
@RequestMapping(method = RequestMethod.POST)
public String savePhoto(@ModelAttribute("album") Album album, BindingResult result, SessionStatus status, MultiPartFileUploadBean file)
{
List<MultipartFile> images = file.getFiles();
for (MultipartFile photo : images) {
...
}
return "redirect:/albums/"+album.getId();
}
Run Code Online (Sandbox Code Playgroud)
MultiPartFileUploadBean:
public class MultiPartFileUploadBean {
private List<MultipartFile> files;
public void setFiles(List<MultipartFile> files) {
this.files = files;}
public List<MultipartFile> getFiles() {
return files;}
}
Run Code Online (Sandbox Code Playgroud)
是的,它有效,但我不知道用户想要如何在相册中上传照片. 我使用:
<input name="files[]" type="file" multiple="multiple" />
Run Code Online (Sandbox Code Playgroud)
我会收到一个错误.
请求处理失败; 嵌套异常是java.lang.NumberFormatException:对于输入字符串:""
我一直在寻找如何使用multiple ="multiple",但没有找到.我希望得到你的帮助.
在您的XHTML中:
<input name="files" type="file" multiple="multiple" />
Run Code Online (Sandbox Code Playgroud)
更改请求映射方法:
@RequestMapping(method = RequestMethod.POST)
public String savePhoto(MultipartRequest multipartRequest, ...)
{
List<MultipartFile> images = multipartRequest.getFiles("files");
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4003 次 |
| 最近记录: |