0

Play 2.0アプリケーションを使用してPDFファイルを作成(アップロードではありません!)、保存、およびダウンロードできるようにする必要があります。Playでこれを行うにはどうすればよいですか?MySQL DBにファイルをblobとして保存することを考えていますが、その場合、ファイルシステムを使用せずにPDFファイルを作成する機会はありますか?2番目の質問は、ファイルのダウンロードを実装する方法ですか?

4

1 に答える 1

2

非常に一般的に、データベースにファイルを保存すると、通常はよりコストがかかり、いくつかの欠点があります。(理由を確認してください:DBに画像を保存する - はいまたはいいえ?

一方、ファイルを保護する必要があるかどうか、またはそれらが何らかの公開ドキュメントであるかどうかによっても異なります。

考慮すべき 2 つの解決策があります。

  1. セキュリティについて心配しない場合は、ファイルを作成してフォルダーに保存するだけで、httpサーバーを使用してそれを提供し、DBにパスのみを保持できます。これは良い考えです。特に通常、サーバーはファイルを提供するためだけに作成されるため、車輪を再発明する必要はありません。
  2. ファイルが制限されている場合は、それらをファイルシステムにも保存しますが、いずれにせよ非公開フォルダーに保存すると、そのような単純なコード (Java) を使用して、認証済み/承認済みの訪問者に対してのみアクションFileとして aを返すことができます。Result

    public static Result serveFile(String absouteFilePath){
        //some authorization...
        return ok(new File(absouteFilePath));
    }
    
于 2012-12-12T16:20:04.813 に答える