作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试了 stackoverflow 上的每一篇文章,但我无法在 IE 和 mozilla firefox 中打开 pdf 文件。我对 JSP 和 servlet 很陌生,所以我也需要代码方面的帮助。请告诉我如何通过 jsp 页面中的超链接打开本地保存在 Windows 服务器上的 pdf 文件?现在写该网站是使用 Windows 服务器上的 tomcat 托管的,客户端是同一服务器。
最佳答案
下面是使用超链接从客户端下载存储在服务器上的 PDF 文件所需的代码。
Servlet:
public class PDFDownloadServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// below line will tell the browser to show the download popup
//response.setHeader("Content-disposition","attachment; filename=yourFileName.pdf");
// content type that will tell the browser about the content type
response.setContentType("application/pdf");
OutputStream out = response.getOutputStream();
// file is stored directly under the war folder
FileInputStream in = new FileInputStream(new File("pdfFile.pdf"));
byte[] buffer = new byte[4096];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.flush();
}
}
web.xml:
<servlet>
<servlet-name>pdfDownloadServlet</servlet-name>
<servlet-class>com.x.y.z.PDFDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>pdfDownloadServlet</servlet-name>
<url-pattern>/pdfDownload</url-pattern>
</servlet-mapping>
JSP:
<a href="<%=request.getContextPath() %>/pdfDownload">Click Here to download a PDF file</a>
<小时/>
在客户端(浏览器)下载 PDF 文件后。浏览器会搜索合适的软件来打开PDF文件,如果没有找到,则会提示保存文件。它因浏览器而异。
有时 Firefox 在浏览器本身中显示 PDF 文件。
关于java - 如何通过jsp页面中的超链接打开本地保存在Windows服务器上的pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23595569/
我是一名优秀的程序员,十分优秀!