重命名由 Java Servlet 传输的 PDF

2024-03-22

使用 XSLT、XSL-FO 和 Apache FOP 的正确组合,我能够将 PDF 发送到某个浏览器窗口中。
事实上,我发送的文件内容如下:


           response.setContentType("application/pdf");
            response.setContentLength( out.size());
            response.getOutputStream().write( out.toByteArray());
            response.getOutputStream().flush();
  

正如预期的那样,浏览器在名为“pdf”的选项卡中显示 PDF 内容,如果我将文件保存在本地,名称也默认为 pdf.pdf
如何强制指定文件名?

我尝试了以下方法但不起作用:


           response.setHeader("Content-Disposition","inline; filename=" + filename + ".pdf" ); 
  

为了清楚起见,我想在浏览器中显示内容(而不是直接下载)


我找到了解决方案here http://www.forumtopics.com/busobj/viewtopic.php?t=48651

基本上,这是更改 web.xml 中的 URL 模式的问题
浏览器将使用页面名称的任何内容
我曾经有

<servlet-mapping>
        <servlet-name>PDF</servlet-name>
        <url-pattern>/pdf</url-pattern>
    </servlet-mapping>

我用它代替

<servlet-mapping>
        <servlet-name>PDF</servlet-name>
        <url-pattern>/pdf/*</url-pattern>
    </servlet-mapping>

使用调用 servlethttp://wherever/pdf/filename.pdf?param1=va1...将文件名更改为“filename.pdf”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重命名由 Java Servlet 传输的 PDF 的相关文章

随机推荐