2012-03-21 12 views
0

私のMySQLデータベースにない場合は、正確にWebサーバにイメージを保存しますか? DBに画像をBLOBとして保存するのは悪いことです。ウェブサーバ上のファイルシステムにイメージを保存する場所

また、これらのイメージへの参照をDBに保存するにはどうすればよいですか?私がfood_itemsテーブルを持っていれば、テーブルはこのように見えますか?

食料品

Id |名前|説明|価格| ImageURL

1 |チキン|おいしい| 100 | www.myurl.com/folderwithimages/image.jpg ??

おかげ

+2

、各データ入力のために同じデータを格納する意味をなさない://または絶対ドキュメントルートからのパス(/folderwithimage/image.jpg)。しかし、はい、それはデータベースです、あなたはあなたがそれにしたいものを置くことができます。 – Cfreak

+0

CDNはいかがですか?彼らはあらゆる種類のキャッシングと地理的位置に最適化されたものを提供しています。静的ファイルを扱うWebサーバーを駄目にすることはありません。 –

答えて

1

これはウェブサーバであれば、私は非常にあなたがS3に画像を置くことをお勧めします。 Amazon S3に関するドキュメントがあります。

0

私は、データベース内の画像のみ名を格納し、かつ/ yoursiteroot/folderwithimages内のすべての画像を保つことをお勧めします。

この表はうまく見えますが、今後画像のパスやURLを変更する場合は、完全なURLの保存をお勧めしません。データベース内のWebサーバ

上のファイルシステム内の/ imagesフォルダ内

+0

あなたは皆相対URLを使用すると言っているので、URLを連結するにはどうしたらいいですか? myurl.com/mysiteroot/folderwithimagesを追加する場合と同じです。 myurl.comの部分はどこに入っていますか?ありがとう – Apollo

0

ストア画像はイメージに完全なURLを格納しないでください。相対URLをイメージに保存してください。ドメインが変更された場合、データベースを再度更新する必要はありません。

/images/image.jpg

0

イメージをデータベースに保存することを避けることは、データベース内のイメージを維持するだけでなく、データベースのパフォーマンスも低下させるだけでなく、クラウドサービスを使用している場合はコストの問題も発生します。

この目的でS3またはYahooを使用します。残りの唯一のことは、サイトアプリケーションがこのサービス(dbとImagesサービス)の両方を接続することです。私はthis toolを使用しました。

ストア各画像を切り抜いた場所に存在する場合にのみ、完全なパスは、それは、HTTPを含む完全なURLを保存する必要があるのいずれか

+0

dbビューを使用して基本的なURL "myurl.com/mysiteroot/"とデータベースに保存されているファイル名を連結するか、私が提案したツールを使用することができます。 – eelis

関連する問題