此文章仅仅是个人笔记!
1.文件的下载
@RequestMapping("/testDown")
public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException {
//获取servletContext对象
ServletContext servletContext = session.getServletContext();
//获取服务器中文件的真实路径
String realPath = servletContext.getRealPath("/static/img/1.jpg");
System.out.println(realPath);
//创建输入流
FileInputStream is = new FileInputStream(realPath);
//创建字节数组
//is.availabel()方法 获取当前方法对应的所有字节数
byte[] bytes = new byte[is.available()];
//将流读到字节数组中
is.read(bytes);
//创建HttpHeaders对象设置响应头
MultiValueMap<String,String> httpHeaders = new HttpHeaders();
//设置要下载方式及下载文件的名字
httpHeaders.add("content-Disposition","attachment;filename=1.jpg");
//设置响应状态码
HttpStatus status = HttpStatus.OK;
//创建ResponseEntity对象
ResponseEntity<byte[]> responseEntity = new ResponseEntity<byte[]>(bytes,httpHeaders,status);
//关闭输入流
is.close();
return responseEntity;
}
2.文件的下载
@RequestMapping("/testUp")
public String testUp(MultipartFile photo,HttpSession session) throws IOException {
System.out.println(photo.getName());
System.out.println(photo.getOriginalFilename());
ServletContext servletContext = session.getServletContext();
String photoPath = servletContext.getRealPath("photo");
File file = new File(photoPath);
//判断photoPath路径是否存在
if(!file.exists()){
/*若不存在,则创建目录*/
file.mkdir();
}
String finanlPath = photoPath + File.separator + photo.getOriginalFilename();
photo.transferTo(new File(finanlPath));
return "success";
}```