方法1:
public void downloadFile(@RequestParam Long templateId, HttpServletRequest request, HttpServletResponse response) {
//pathById 图片地址
String pathById =uploadImagesLocation+iResumeSeedTemplateService.findPathByTemplateId(templateId).substring(resourceHandler.length()-2);
response.setCharacterEncoding(request.getCharacterEncoding());
response.setContentType("application/octet-stream");
FileInputStream fis = null;
try {
File file = new File(pathById);
fis = new FileInputStream(file);
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
IOUtils.copy(fis, response.getOutputStream());
response.flushBuffer();
} catch (IOException e) {
e.printStackTrace();
throw new CustomException("图片下载失败", 400);
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
方法2
public void export(ResumeInfo resumeInfo, HttpServletRequest request, HttpServletResponse response) {
try {
String fileName = resumeInfo.getFileName();
String path = filePath + File.separator + resumeInfo.getBatchNumber() + File.separator + resumeInfo.getFileName();
System.out.println("文件导出地址"+path);
InputStream fis = new FileInputStream(path);
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
response.addHeader("Content-Length", "" + new File(path).length());
byte[] b = new byte[100];
int len;
try {
while ((len = fis.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
fis.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
fis.close();
}
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("下载简历失败", 400);
}
}