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