我在 Java play 2 中生成 PDF(使用外部资源)并将它们存储在我项目的根目录中的 pdfs/ 文件夹中。
现在,我在 Java 中不是那么好,如果不将 PDF 放入公共文件夹中,我将无法显示它(这不可能,因为它不安全)。所以我的问题是:
如何在客户端浏览器中显示 PDF 文件而不将其放入公用文件夹?
我在 Java play 2 中生成 PDF(使用外部资源)并将它们存储在我项目的根目录中的 pdfs/ 文件夹中。
现在,我在 Java 中不是那么好,如果不将 PDF 放入公共文件夹中,我将无法显示它(这不可能,因为它不安全)。所以我的问题是:
如何在客户端浏览器中显示 PDF 文件而不将其放入公用文件夹?
只需发送二进制表示,并指定 PDF 内容类型:
public static Result createPDF() {
byte[] pdfAsBinary = ...
response().setContentType("application/pdf");
return ok(pdfAsBinary);
}
找到了解决方案:
return ok(new FileInputStream("pdfs/doc.pdf")).as("application/pdf");