@PostMapping("/load")
public void load(@RequestBody LoadRequest request, HttpServletResponse response) throws Exception {
try {
String path = this.getClass().getClassLoader().getResource("").getPath();
String filePath = path+"/revivefile/"+request.getFilename();
File file = new File(filePath);
log.info("===file.download======filePath" + filePath + "=======decodePath" );
FileInputStream fileInputStream = new FileInputStream(file);
InputStream fis = new BufferedInputStream(fileInputStream);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("multipart/form-data");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(request.getFilename(), "UTF-8"));
response.setHeader("Content-type", "application-download");
response.addHeader("Content-Length", "" + file.length());
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
outputStream.write(buffer);
outputStream.flush();
DownloadRecords records = new DownloadRecords();
records.setCreateUserId(request.getUserId());
records.setCreateTime(new Date());
records.setDownloadType(request.getFileType());
records.setId(System.currentTimeMillis());
recordsMapper.insertSelective(records);
} catch (IOException ex) {
ex.printStackTrace();
throw new Exception("download error");
}
}