2016-05-20 11 views
0

私はnginxを使用するWebアプリケーションを持っています。それがRailsにあるとしますが、それは本当に問題ではありません。ユーザーがアップロードしたファイルを管理するにはどうすればよいですか?

私は毎日約100枚の画像/ファイルをアップロードする予定です。私はストーリーや画像のアップロードにカスタムソリューションを使用したくない代わりに、自分で管理したいと思っています。

1)私はそれらのイメージを保存する必要がある慣用的な場所/パスはありますか?またはnginxの範囲内の任意のパスが動作しますか?

2)CSSのストーリーイメージに使用しているフォルダとは別のフォルダですか?

3)フォルダーフォレストをどのように整理しますか?つまり、それは/my_base_image_folder/{year}/{month}/{day}/{image_sequence_number}.jpgのようなものでしょうか?

/my_base_image_folder/{article_id}/{image_sequence_number}.jpg?または、私はそれらを同じフォルダに置くべきですか?/my_base_image_folder/{img_guid}.jpg?

なぜですか?

4)ファイルのアップロードにはどのような名前を付けるのがよいでしょうか? GUID?またはシーケンス番号?

+0

Ruby On Railsを使用している場合は、カスタムソリューションを使用しないことについてどういう意味があるのか​​わからないので、件名に基づいて回答するつもりですが、paperclipとamazon S3でファイルを処理することをおすすめします。ファイルを簡単に保存してユーザーに関連付けることができ、非常に柔軟性があります。 – bkunzi01

答えて

0

これらの画像をもう一度消費するというユースケースによって異なります。後のセッションでそれらのユーザのためにユーザによってアップロードされたイメージを検索する予定の場合、つまり、あなたのアプリケーションでイメージをブラウズする必要がある場合は、a_public_folder/user_id_hashed/に保存する方が良いでしょう。アップロードした時間や日付に基づいて画像を取得する予定がある場合は、a_public_folder/year/month/day/..とすると良いでしょう。あなたのngnixは、あまりにもオープンなアクセス許可を使って、安全のためにパブリックフォルダにアクセスできるようにしてください。また、画像ファイルに名前を付けると、タイムスタンプと小さなランダムな16進数の組み合わせが私には間違いないと思います。

関連する問題