文件上传
导入依赖:

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
spring-mvc文件配置:

<!--文件上传解析器-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--文件上传的字符集-->
<property name="defaultEncoding" value="UTF-8"></property>
<!--文件上传的总大小-->
<property name="maxUploadSize" value="5000000000"></property>
<!--单个文件的大小-->
<property name="maxUploadSizePerFile" value="5000000"></property>
</bean>
控制器(单文件)

/*单文件上传*/
@RequestMapping("/fileUpload")
public String fileUpdate(MultipartFile upload ,HttpSession session) throws IOException {
//获取绝对路径
String realPath = session.getServletContext().getRealPath("/upload");
//获取文件上传提交的文件名
String filename = upload.getOriginalFilename();
//组合路径+上传操作
upload.transferTo(new File(realPath,filename));
return "index";
}
控制器(多文件)

/*多文件上传*/
@RequestMapping("/fileUploads")
public String fileUpdates(@RequestParam MultipartFile[] upload ,HttpSession session) throws IOException {
//获取绝对路径
String realPath = session.getServletContext().getRealPath("/upload");
for (MultipartFile item:upload){
//获取文件上传提交的文件名
String filename = item.getOriginalFilename();
//组合路径+上传操作
item.transferTo(new File(realPath,filename));
}
return "index";
}
文件下载

/*文件下载*/
@RequestMapping("/download")
public ResponseEntity<byte[]> dowload(HttpSession session) throws Exception {
//获取绝对路径
String realPath = session.getServletContext().getRealPath("/upload");
//组装路径转换为file对象
File file=new File(realPath,"新建文本文档.txt");
//设置头 控制浏览器下载对应文件
HttpHeaders headers=new HttpHeaders();
headers.setContentDispositionFormData("attachment",new String("新建文本文档.txt".getBytes("UTF-8"),"ISO-8859-1"));
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);
}
