1.CRUD
2. springmvc的文件上传
2.1 添加文件上传相关依赖
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
2.2 配置文件上传解析器(CommonsMultipartResolver)
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 必须和用户JSP 的pageEncoding属性一致,以便正确解析表单的内容 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 文件最大大小(字节) 1024*1024*50=50M-->
<property name="maxUploadSize" value="52428800"></property>
<!--resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常-->
<property name="resolveLazily" value="true"/>
</bean>
2.3 表单提交方式为method="post" enctype="multipart/form-data"
2.4 文件项用spring提供的MultipartFile进行接收
BookFileVo
bookId
MultipartFile
2.5 上传文件
注:springmvc文件上传关键代码
File targetFile = ....;
MultipartFile mf = ....;
String fileName = mf.getOriginalFilename();
mf.transferTo(targetFile);
2.6 下载文件
@RequestMapping(value="/download")
public ResponseEntity<byte[]> download(@RequestParam String fileId){
//先根据文件id查询对应图片信息
//下载关键代码
File file=new File(bookFile.getUrl());
HttpHeaders headers = new HttpHeaders();//http头信息
String downloadFileName = new String(fileName.getBytes("UTF-8"),"iso-8859-1");//设置编码
headers.setContentDispositionFormData("attachment", downloadFileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
//MediaType:互联网媒介类型 contentType:具体请求中的媒体类型信息
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);
}