我使用IText api编写了下载PDF的代码...我在我的项目中实现了它...我生成了war文件并部署在tomcat服务器中...当我试图下载pdf它正在下载在服务器电脑....但它不是在本地电脑上下载当我在本地网络服务器的电脑......有任何请帮助如何清除这个......!
我的代码就像......我正在创建文件夹,然后我将其保存在其中
boolean folder= new File("C:\\Reports").mkdir();
OutputStream file = new FileOutputStream(new File("C:\\Reports\\somename.pdf")); Document document = new Document(PageSize.A4.rotate());
PdfWriter.getInstance(document, file);
document.open();
document.close();
file.close();
答案 0 :(得分:1)
如果我理解你的意图,请纠正我。您希望客户端PC访问服务器,而客户端PC将所述PDF下载到特定目录?
从我的理解,它不能用浏览器JS完成(我想象的是安全隐患)。您可以提示下载文件,但保存文件的位置取决于用户。
- 编辑:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("application/octet-stream");
resp.setHeader("Content-Disposition", "filename=\"pdf.pdf\"");
File srcFile = new File("C:/path_to_pdf/pdf.pdf");
FileUtils.copyFile(srcFile, resp.getOutputStream());
}
您将需要FileUtils模块。
答案 1 :(得分:0)
如果您希望将文件传输到客户端,那么您似乎需要获取响应对象的输出流并在该输出流上发送pdf。
目前,您的逻辑只是创建一个在本地计算机上执行的pdf。
这样的一些代码需要存在:
ServletOutputStream os= res.getOutputStream();
PdfWriter writer = PdfWriter.getInstance(d, os);