spring-mvc 上传多个文件
例子
要接收通过单个HTTPPost上传的多个文件,您需要执行以下操作:
@RequestMapping(
value = "...",
method = RequestMethod.POST,
consumes = MediaType.MULTIPART_FORM_DATA_VALUE
)
public Object uploadFile(
@RequestPart MultipartFile[] files
) {
for (file : files) {
String fileName = file.getOriginalFilename();
InputStream inputStream = file.getInputStream();
String contentType = file.getContentType();
.
.
.
}
}请注意,@RequestPart参数的名称需要与请求中的部分名称匹配。
作为HTML:
作为原始HTTP请求:
POST /... HTTP/1.1 Host: ... Content-Type: multipart/form-data; boundary=----------287032381131322 ------------287032381131322 Content-Disposition: form-data; name="files"; filename="r.gif" Content-Type: image/gif GIF87a.............,...........D..; ------------287032381131322 Content-Disposition: form-data; name="files"; filename="banana.jpeg" Content-Type: image/jpeg GIF87a.............,...........D..; ------------287032381131322--
该请求将意味着以下内容:
files[0].getOriginalFilename() == "r.gif" files[0].getContentType() == "image/gif" files[1].getOriginalFilename() == "r.jpeg" files[1].getContentType() == "image/jpeg"