2010-12-10 6 views
1

spring/javaとmysqlを使用しているときに、最近の画像管理にはどのようなパターンが最適かと思いました。mysqlを使用している春/ Javaアプリケーションで大量の画像を処理する

  1. 私はいくつかの選択肢があります。 の一部の画像は、ユーザーが の小さなアバターです。 を直接mysqlに入れても問題ありませんか?または、ファイル を使用しますか?大きな画像については

  2. 、ほとんど唯一のオプションを システムファイル して、ファイルシステム上 場所を保存するためにMySQLを使用しているのですか?

  3. Linuxサーバにはどこに置くのが良いですか?/var/files/images?

  4. ファイルが war配備ディレクトリから隠されているため、それらをストリームする最も良い方法は ですか? 何らかの種類のファイル出力ストリームを というようにhttp 要求の応答本文として使用しますか?また

  5. は、未使用のファイルと などを掃除などの 、私はファイル管理 のすべてを開発する必要が自分自身を詰め込むのですか?

  6. イメージセキュリティはどうですか?すべての人が画像にアクセスすべきではありません。私は、Springセキュリティと別のURLを使用して、現在のユーザーにこれをチェックする必要があると思います。

これらすべての質問についてアドバイスをいただきたいと思います。ありがとう。

答えて

2

あなたはMySQLを使用することができます。これは集中化と簡単なクリーンアップの利点がありますが、拡大する予定の場合はIMHOはデータベースのリソースを浪費します。

すべての画像が公開されているようなデータの場合は、S3のWebサーバーから直接画像を提供できるAmazon S3のようなものを検討してください。自分ですべてをホストする予定の場合は、単にディレクトリから提供してください。ディレクトリリストをオフにすることを覚えておいてください。

+0

ディレクトリリストをオフにすることによって何を意味するかを熟考できますか?また、展開ディレクトリに何も置かないと危険ですか?私はtomcatに画像を含むディレクトリを削除させたくありません。また、これらの画像の一部は公開されません。私。その会社に所属する人だけがアクセスできるはずの会社イメージです。 – egervari

+0

クリーンアップに関しては、イメージのディレクトリを読み込んだ後、データベース内のさまざまなテーブルのすべての場所を読み込み、比較を行い、データベーステーブルにないものをすべて削除しますか?私は現在、イメージを使用しているエンティティ(テーブル)を6〜7つ持っています。 – egervari

+0

また、アプリケーションサーバーとは別のイメージホスティングサーバーにそれらを置く方が良いでしょうか? – egervari

関連する問題