我使用Java play 2生成PDF(使用外部資源)並將它們存儲在我的項目的根目錄下的pdfs /文件夾中。用Java Play顯示PDF! 2框架
現在,我不是很擅長java,我不能設法顯示PDF而不把它放在公共文件夾中(這不可能是因爲它不安全)。所以我的問題是:
如何在客戶端瀏覽器中顯示PDF文件而不將其放在公共文件夾中?
我使用Java play 2生成PDF(使用外部資源)並將它們存儲在我的項目的根目錄下的pdfs /文件夾中。用Java Play顯示PDF! 2框架
現在,我不是很擅長java,我不能設法顯示PDF而不把它放在公共文件夾中(這不可能是因爲它不安全)。所以我的問題是:
如何在客戶端瀏覽器中顯示PDF文件而不將其放在公共文件夾中?
找到了解決辦法: return ok(new FileInputStream("pdfs/doc.pdf")).as("application/pdf");
只需發送二進制表示,並指定PDF內容類型:
public static Result createPDF() {
byte[] pdfAsBinary = ...
response().setContentType("application/pdf");
return ok(pdfAsBinary);
}
這件事情是我不知道如何獲取PDF文件...它在/pdfs/doc.pdf中。 我嘗試使用'controllers.Assets.at(「pdfs」,「doc.pdf」);'但它返回一個動作類型,我不知道該怎麼處理它 – user2099857
你不應該將它們存儲在文件系統,但直接發送輸出流。 –
我不得不。無論如何,我需要將PDF存儲在服務器上,這是一種需要。 – user2099857
這就是我所尋找的。非常感謝@ user2099857 – greenhorn