Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java链接到pdf文件_Java_Jsp_Pdf - Fatal编程技术网

如何使用Java链接到pdf文件

如何使用Java链接到pdf文件,java,jsp,pdf,Java,Jsp,Pdf,在Java/.jsp中是否有方法设置内容类型等。。。因此,指向pdf的链接会提示用户保存它,而不是在浏览器的相同或不同窗口中打开它?我看到了一些如何在PHP中实现这一点的示例,但没有看到Java 不确定编译语言和解释语言是否与我找不到Java解决方案的原因有关。(随机思考)您需要设置内容类型和内容配置标题。假设response是HttpServletResponse对象 String filename = "foo.pdf"; response.setHeader("Content-Type"

在Java/.jsp中是否有方法设置内容类型等。。。因此,指向pdf的链接会提示用户保存它,而不是在浏览器的相同或不同窗口中打开它?我看到了一些如何在PHP中实现这一点的示例,但没有看到Java


不确定编译语言和解释语言是否与我找不到Java解决方案的原因有关。(随机思考)

您需要设置
内容类型
内容配置
标题。假设
response
HttpServletResponse
对象

String filename = "foo.pdf";

response.setHeader("Content-Type", "application/pdf");
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");

更多信息:.

如果PDF不是由servlet自动生成或从外部位置读取的,而只是出现在公共webcontent中,则只需将
过滤器映射到
*.PDF
(或任何更具体/通用的)URL模式上,即可在
doFilter中完成以下工作()
方法

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String filename = req.getRequestURI().substring(req.getRequestURI().lastIndexOf('/') + 1);
res.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
chain.doFilter(request, response);

这是一个很好的开始。是的,我正在强制执行“另存为”通过链接加载到pdf。我现在遇到的问题是我不知道如何设置路径。我将pdf存储在war文件之外的Web服务器上的一个单独文件夹中,需要导航到该文件夹才能加载它。@Chad:如何设置路径?文件保存到浏览器计算机上的路径?您无法控制。tpdf在服务器上驻留的路径。在Tomcat中的webapps文件夹中,我有我的war文件供我的应用程序使用,还有一个文件夹供文件下载。如何指定我要在该文件夹中查找?即“/downloads/sample.pdf”@Chad:您可以使用类似于
InputStream input=getClass().getResourceAsStream的内容(“downloads/sample.pdf”)
但我无法说出pdf的确切路径,因为我不知道您的目录结构。