我正在尝试使用 Spring Boot RestController 下载多个 pdf 文件。但由于某种原因,只下载了第一个文件。该程序不会抛出任何错误。不确定问题是什么。是否需要 Multipart?
@RequestMapping(value = "downloadAgain", method = RequestMethod.GET)
@ResponseBody
public void newRun(HttpServletResponse response) {
String fileName1="pdf1.pdf";
String fullName1="C://Users//pdf1.pdf";
newDownloadRun(response,fileName1,fullName1);
String fileName2="pdf2.pdf";
String fullName2="C://Users//pdf2.pdf";
newDownloadRun(response,fileName2,fullName2);
}
public void newDownloadRun(HttpServletResponse response,String fileName,String fullName) {
response.setContentType("application/pdf");
response.setHeader( "Content-Disposition", "attachment;filename="+ fileName );
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
try {
BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
FileInputStream fis = new FileInputStream(fullName);
int len;
byte[] buf = new byte[1024];
while((len=fis.read(buf))> 0) {
bos.write(buf,0,len);
}
bos.close();
response.flushBuffer();
}catch(Exception ex) {
ex.printStackTrace();
}
}
最佳答案
Http 协议(protocol)旨在为每个请求发送一个文件。如果您想发送多个文件,您需要将其准备为多部分/相关的。看看这篇文章https://www.motobit.com/tips/detpg_multiple-files-one-request/
关于java - 使用 Spring Boot RestController 下载多个 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61000268/