PlayFramework 2.0文件存储

PlayFramework 2.0文件存储,playframework,playframework-2.0,file-storage,Playframework,Playframework 2.0,File Storage,我必须使用Play2.0应用程序创建(而不是上传!)、存储和下载PDF文件。我怎么能在游戏中做到这一点?我正在考虑将文件存储为MySQL DB中的blob,但在这种情况下,是否有机会在不使用文件系统的情况下创建PDF文件?第二个问题是如何实现文件下载?一般来说,在数据库中存储文件通常比较昂贵,并且有一些缺点。(检查原因:) 另一方面,这也取决于文件是否应该受到保护,或者它们是某种公共文档 有两种解决方案需要考虑: 如果您不担心安全性,您可以创建文件并保存在某个文件夹中,然后,您可以使用某个htt

我必须使用Play2.0应用程序创建(而不是上传!)、存储和下载PDF文件。我怎么能在游戏中做到这一点?我正在考虑将文件存储为MySQL DB中的blob,但在这种情况下,是否有机会在不使用文件系统的情况下创建PDF文件?第二个问题是如何实现文件下载?

一般来说,在数据库中存储文件通常比较昂贵,并且有一些缺点。(检查原因:)

另一方面,这也取决于文件是否应该受到保护,或者它们是某种公共文档

有两种解决方案需要考虑:

  • 如果您不担心安全性,您可以创建文件并保存在某个文件夹中,然后,您可以使用某个http服务器为其提供服务,并在数据库中只保留路径。这是一个好主意,尤其是通常服务器只是为提供文件而创建的,所以您不需要重新发明轮子
  • 如果文件受到限制,还可以将它们存储在文件系统中,不管怎样,存储在某个非公共文件夹中,然后您可以返回一个
    文件
    ,作为操作的
    结果
    ,仅用于具有此类简单代码(Java)的经过身份验证/授权的访问者


  • 解决方法是将文件存储在文件系统中,并将其元数据存储在数据库中。谢谢
    public static Result serveFile(String absouteFilePath){
        //some authorization...
        return ok(new File(absouteFilePath));
    }