中国站长工具,家校互动平台,网站正在建设中页面下载,环境设计专业资料网站文章目录 前言一、文件下载二、文件上传总结 前言
实现下载文件和上传文件的功能。 一、文件下载
使用ResponseEntity实现下载文件的功能
RequestMapping(/testDown)
public ResponseEntitybyte[] testResponseEntity(HttpSession session) throws
IOEx… 文章目录 前言一、文件下载二、文件上传总结 前言
实现下载文件和上传文件的功能。 一、文件下载
使用ResponseEntity实现下载文件的功能
RequestMapping(/testDown)
public ResponseEntitybyte[] testResponseEntity(HttpSession session) throws
IOException {
//获取ServletContext对象
ServletContext servletContext session.getServletContext();
//获取服务器中文件的真实路径
String realPath servletContext.getRealPath(/static/img/1.jpg);
//创建输入流
InputStream is new FileInputStream(realPath);
//创建字节数组
byte[] bytes new byte[is.available()];
//将流读到字节数组中
is.read(bytes);
//创建HttpHeaders对象设置响应头信息
MultiValueMapString, String headers new HttpHeaders();
//设置要下载方式以及下载文件的名字
headers.add(Content-Disposition, attachment;filename1.jpg);
//设置响应状态码
HttpStatus statusCode HttpStatus.OK;
//创建ResponseEntity对象
ResponseEntitybyte[] responseEntity new ResponseEntity(bytes, headers,
statusCode);
//关闭输入流
is.close();
return responseEntity;
}二、文件上传
文件上传要求form表单的请求方式必须为post并且添加属性enctype“multipart/form-data” SpringMVC中将上传的文件封装到MultipartFile对象中通过此对象可以获取文件相关信息。 步骤
添加依赖
!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --dependency
groupIdcommons-fileupload/groupId
artifactIdcommons-fileupload/artifactId
version1.3.1/version
/dependency在SpringMVC的配置文件中添加配置
!--必须通过文件解析器的解析才能将文件转换为MultipartFile对象--
bean idmultipartResolver
classorg.springframework.web.multipart.commons.CommonsMultipartResolver
/bean控制器方法
RequestMapping(/testUp)
public String testUp(MultipartFile photo, HttpSession session) throws
IOException {
//获取上传的文件的文件名
String fileName photo.getOriginalFilename();
//处理文件重名问题
String hzName fileName.substring(fileName.lastIndexOf(.));
fileName UUID.randomUUID().toString() hzName;
//获取服务器中photo目录的路径
ServletContext servletContext session.getServletContext();
String photoPath servletContext.getRealPath(photo);
File file new File(photoPath);
if(!file.exists()){
file.mkdir();
}
String finalPath photoPath File.separator fileName;
//实现上传功能
photo.transferTo(new File(finalPath));
return success;
}总结
以上就是springMVC文件上传和下载的讲解。