Java 使用Spring3进行多文件上传
我需要一次加载未知数量的文件。 我找到了一个示例,它适用于已知数量的文件: 标记:Java 使用Spring3进行多文件上传,java,spring,file-upload,Java,Spring,File Upload,我需要一次加载未知数量的文件。 我找到了一个示例,它适用于已知数量的文件: 标记: <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> 代码:
<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>
代码:
@RequestMapping(method=RequestMethod.POST)
公共字符串savePhoto(@modeldattribute(“album”)相册相册,BindingResult,SessionStatus状态,MultiPartFileUploadBean文件)
{
列表图像=file.getFiles();
用于(多部分文件照片:图像){
...
}
返回“重定向:/albums/”+album.getId();
}
MultiPartFileUploadBean:
public class MultiPartFileUploadBean {
private List<MultipartFile> files;
public void setFiles(List<MultipartFile> files) {
this.files = files;}
public List<MultipartFile> getFiles() {
return files;}
}
public类MultiPartFileUploadBean{
私人清单文件;
公共无效设置文件(列出文件){
this.files=files;}
公共列表getFiles(){
返回文件;}
}
可以,但我不知道用户希望如何上传相册中的照片。
我使用:
<input name="files[]" type="file" multiple="multiple" />
我会得到一个错误
请求处理失败;嵌套异常是
java.lang.NumberFormatException:用于输入字符串:“”
我正在寻找如何使用multiple=“multiple”,但没有找到。我希望得到您的帮助。在您的XHTML中:
<input name="files" type="file" multiple="multiple" />
更改请求映射方法:
@RequestMapping(method = RequestMethod.POST)
public String savePhoto(MultipartRequest multipartRequest, ...)
{
List<MultipartFile> images = multipartRequest.getFiles("files");
...
}
@RequestMapping(method=RequestMethod.POST)
公共字符串savePhoto(MultipartRequest MultipartRequest,…)
{
列表图像=multipartRequest.getFiles(“文件”);
...
}
在XHTML中:
<input name="files" type="file" multiple="multiple" />
更改请求映射方法:
@RequestMapping(method = RequestMethod.POST)
public String savePhoto(MultipartRequest multipartRequest, ...)
{
List<MultipartFile> images = multipartRequest.getFiles("files");
...
}
@RequestMapping(method=RequestMethod.POST)
公共字符串savePhoto(MultipartRequest MultipartRequest,…)
{
列表图像=multipartRequest.getFiles(“文件”);
...
}
文件[]
不是正确的名称请删除[]
。好的。我纠正了。但是现在在选择文件后,只加载列表中的第一个。请参阅。简言之,您将拥有一个能够完全使用HTML5的浏览器,否则它将无法与多个文件一起工作[]
不是一个正确的名称删除[]
。确定。我纠正了。但是现在在选择文件后,只加载列表中的第一个。请参阅。简言之,您将有一个完全能够使用HTML5的浏览器,否则它将无法与多个
一起工作。