浏览 1783 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2006-12-26
处理过程:
后台生成PDF
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Document document = new Document(PageSize.A4, 36,36,36,36);
ByteArrayOutputStream ba = new ByteArrayOutputStream();
try{
PdfWriter writer = PdfWriter.getInstance(document, ba);
document.open();
document.add(new Paragraph("Hello World"));
}catch(DocumentException de){
de.printStackTrace();
System.err.println("A Document error:" +de.getMessage());
}
document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();
}
前台获取: function getPDF()
{
document.location.href="servlet/GetPDF";
}
问题是这样操作的话,pdf文件直接在浏览器上显示了,那如何直接提示用户下载到本地那? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2006-12-26
在 response.setContentType("application/pdf"); 后加上
response.setHeader("Content-Disposition", "attachment;filename=\"" + exportFileName + "\"");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setDateHeader("Expires", (System.currentTimeMillis() + 1000));
关键是 response.setHeader("Content-Disposition", "attachment;filename=\"" + exportFileName + "\""); 这行 告诉浏览器 这是一个 附件 |
|
| 返回顶楼 | |
|
最后更新时间:2006-12-26
多谢大哥。我试试先
|
|
| 返回顶楼 | |





