0
我必須創建(不上傳!),存儲並能夠使用Play 2.0應用程序下載PDF文件。我如何在Play中做到這一點?我正在考慮將文件存儲爲MySQL數據庫中的blob,但在這種情況下是否有機會在不使用文件系統的情況下創建PDF文件?第二個問題是如何實現文件下載?PlayFramework 2.0文件存儲
我必須創建(不上傳!),存儲並能夠使用Play 2.0應用程序下載PDF文件。我如何在Play中做到這一點?我正在考慮將文件存儲爲MySQL數據庫中的blob,但在這種情況下是否有機會在不使用文件系統的情況下創建PDF文件?第二個問題是如何實現文件下載?PlayFramework 2.0文件存儲
在很普遍的情況下,將文件存儲在數據庫中通常比較昂貴並且存在一些缺點。 (查看原因:Storing Images in DB - Yea or Nay?)
另一方面,它也取決於文件是否應該受到保護,或者它們是某種公共文檔。
解決方案有兩種考慮:
如果文件受到限制,還將它們存儲在文件系統中,無論如何都放在某個非公用文件夾中,那麼您可以使用如此簡單的一段代碼返回File
作爲操作的Result
,僅限於經過身份驗證/授權的訪問者)
public static Result serveFile(String absouteFilePath){
//some authorization...
return ok(new File(absouteFilePath));
}
在文件系統及其數據庫的元數據存儲文件解決。謝謝! – Jolene