2011-08-14 10 views
0

私は、Webアプリケーションのユーザーのための "プロファイルページ"を実装しようとしています。 ユーザーが自分のプロフィールの画像をアップロードできるようにしたい。サーバーまたはデータベースに画像をアップロードしていますか?

私の質問は、これをどのように実装すべきかということです。

イメージをデータベースにblobとしてアップロードするか、サーバーにイメージをアップロードしてパスをデータベースに保存する必要がありますか?

ユーザープロファイルの画像の最適なサイズは?

私は以下を使用しています。 1. Mysql 5.5.11 2. Spring 3 3.休止状態

あなたの助けに感謝します。

よろしくAdofo

+3

次のことを行う必要がありあなたの前の質問への回答をもっと受け入れてください。また、このサイトで出会った質問と回答の両方をアップ投票してください(適切な場合には、下取りすることを検討してください)。あなたの質問に対する回答が得られる可能性が高くなります。 –

答えて

0

ストアサーバー上のファイルとして画像とデータベース内の画像IDやパスを格納します。このようにすれば、削除されたユーザーのためのファイルのクリーンアップに少しだけ取り組まなければなりません。 40-80KというJPEG画像サイズは、「プロフィール画像」の妥当なターゲットです。これに関する実際の制約は、サーバーのパフォーマンスとトラフィック量です。

0

MySQLでBLOBデータ型の目的は、「データベースの画像の保存」を達成することです。画像の数が少ない場合は(<と言うと100)、データベースに保存します。そうでない場合は、イメージをディレクトリ(WEB_ROOTの下)に保存し、データベースをフリーズすることなく(取得によって)イメージを直接提供するようにWebサーバーを構成してください。

役立ちます希望は...

+0

ブロブはイメージ専用フィールドではありません。バイナリラージオブジェクト:単なるテキストの束でもあります。 また、データベースからイメージを取得しても、データベースがフリーズされるわけではありません。 MySQLは、デフォルトでInnoDBは、同じレコードを読み取る別のトランザクションに即時アクセスが許可されるように、読み取りに共有ロックを保持します。共有アクセスですでにロックされている行で要求された排他ロックはすぐには許可されません。 http://goo.gl/tBdTN – Beez

0

私はこれの両面から画像を保存するための議論を聞いて、過去に自分自身を疑問に思っています。私は個人的にデータベースに格納するという考えが好きです。

私は、100 dpiまたは150 dpi以下のプロファイル画像で72 dpiで十分だと思いますが、画像ファイルの場所が誤って削除されているようです。あなたはそれらの寸法であるか、または何かを受け入れ、次のようになり、新たな次元に自分の画像を保存するかの「プレビュー」でそれらのためにそれを操作するためのアップロードを要求することができます。

ちょうど私の考え。

関連する問題