您的位置:首页 > 编程语言 > Java开发

Spring MVC多个文件上传

2016-07-14 09:10 363 查看
在Spring的控制器中使用MultipartFile file来接收文件,通过MultipartFile[] files接收多个文件上传。

首先添加文件上传的依赖:

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 非必需,可简化IO操作 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>


设置一个能够选择多个文件的文件选择框,即把multiple设置成multiple:

<form method="POST" enctype="multipart/form-data" action="admin/upload">
<table>
<tr><td>File to upload:</td><td><input type="file" name="files"  multiple="multiple"/></td></tr>
<tr><td></td><td><input type="submit" value="Upload" /></td></tr>
</table>
</form>


在程序中这样写:

@RestController
@RequestMapping("/admin")
public class AdminController {

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String upload(@RequestParam("files") MultipartFile[] files) {
try {
for (int i = 0; i < files.length; i++) {
FileUtils.writeByteArrayToFile(new File("e:/upload/" + files[i].getOriginalFilename()), files[i].getBytes());
}
return "ok";
} catch (IOException e) {
e.printStackTrace();
return "error";
}
}
}


其中
@RequestParam("files")
表示接收表单中files键所对应的数据,是一个MultipartFile[]对象,所以可以正确地匹配到参数files数组里面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc spring