文件上传
- 依赖jar
<!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
2.单文件上传
@ApiOperation(value = "单个文件上传")
@PostMapping(value = "/simpleUpload1")
public JSONResponse upload(@RequestParam("uploadFile") @ApiParam(value = "文件名", required = true) MultipartFile uploadFile) {
//获取文件名
String fileName = uploadFile.getOriginalFilename();
fileName = fileName.substring(fileName.lastIndexOf("\\") + 1);
//文件的上传路径
String filePath = "D:\\upload\\" + new Date().getTime() + fileName;
try {
File file = new File(filePath);
//将文件上传到指定的路径
uploadFile.transferTo(file);
} catch (IOException e) {
e.printStackTrace();
}
return ResultUtil.success("文件上传成功", filePath);
}
3.多文件上传
@ApiOperation(value = "多文件上传")
@PostMapping(value = "/UploadAll")
public JSONResponse upload(@RequestParam("uploadFile") @ApiParam(value = "文件名", required = true) MultipartFile[] uploadFiles) {
try {
for (MultipartFile uploadFile : uploadFiles) {
//此处MultipartFile[]表明是多文件,如果是单文件MultipartFile就行了
if (uploadFile.isEmpty()) {
return ResultUtil.error("文件上传失败");
} else {
//获取文件名
String fileName = uploadFile.getOriginalFilename();
fileName = fileName.substring(fileName.lastIndexOf("\\") + 1);
//文件的上传路径
String filePath = "D:\\upload\\" + new Date().getTime() + fileName;
File file = new File(filePath);
//将文件上传到指定的路径
uploadFile.transferTo(file);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return ResultUtil.success("文件上传成功");
}
4.文件下载
@GetMapping("xz")
@ApiOperation(value = "文件下载")
public ResponseEntity<byte[]> testResponseEntity(@ApiParam(value = "下载文件的路径", required = true) @RequestParam("vurl") String vurl, @ApiParam(value = "下载文件的名称", required = true) @RequestParam("vname") String vname, HttpSession session) throws IOException {
byte[] body = null;
ServletContext servletContext = session.getServletContext();
///files/abc.txt:所要下载文件的地址
InputStream in = servletContext.getResourceAsStream(vurl);
body = new byte[in.available()];
in.read(body);
HttpHeaders headers = new HttpHeaders();
//响应头的名字和响应头的值
vname = vname + ".jpg";
headers.add("Content-Disposition", "attachment;filename=" + vname + "");
HttpStatus statusCode = HttpStatus.OK;
ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(body, headers, statusCode);
return response;
}