0
我們正在嘗試我們的項目之一,並試圖下載一個PDF文檔。春天mvc +安全Pdf顯示空白
以下是我們在控制器
@RequestMapping(value = "/usermanual", method = RequestMethod.GET)
public void getFile(HttpServletRequest req,
HttpServletResponse response) throws IOException
{
try {
// get your file as InputStream
File file = new File(req.getRealPath("/")+"js/loginPage/usermanual.pdf");
InputStream is = new FileInputStream(file);
/*BufferedOutputStream stream =
new BufferedOutputStream(new FileOutputStream(new File("E:/Backups/p.pdf")));
org.apache.commons.io.IOUtils.copy(is, stream);
stream.close();*/
// Response header
response.setHeader("Content-Disposition", "attachment; filename=123.pdf");
// copy it to response's OutputStream
org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
response.setContentType("application/pdf");
response.flushBuffer();
response.getOutputStream().close();
} catch (IOException ex) {
throw new RuntimeException("IOError writing file to output stream");
}
}
該文件在電子商務目錄所做的這樣的文件複製在本地磁盤上沒有發出代碼,但在response.getOutputStream它也有一些問題。
我們得到空白pdf作爲結果。
請在這種情況下提供一些指導。先謝謝你。
這是因爲InputStream中由第一副本消耗,你需要爲第二個副本打開一個新的InputStream。 – holmis83
我評論過它,但它仍然顯示空白pdf。 –