5

私はユーザが編集できないデータベースを持つアプリケーションを作成しています。それはちょうどデータを持っていて、ユーザーにそれを示します。私はlocalstorageを使用する必要はないことが判明しました。私はちょうどプロジェクトにデータベースを追加することができ、それは読み取り専用です。だから私はそれをやった、すべてが大丈夫です。今私は自分のアプリに画像を追加したいと私は良い方法は何かをよく分かりません。私はすべてのイメージをフォルダに追加することができます。データベースストアのパスにイメージがあり、とても簡単です。または、画像をデータベース(byte [])として保存できることがわかりました。何が良いですか?データベースの画像は小さくなりますか?イメージの読み込みが高速になりますか?データベースの画像がより良い解決策であれば、簡単に既存のデータベースに画像を追加できますか? winformsでこれを行うための記事はありますか?ありがとうデータベース内の画像またはリソースとしてのプロジェクトフォルダ

編集: 私の質問には非常に多くの回答と意見がありますので嬉しいです。私はもっ​​と私のニーズを説明したい。私のアプリケーションは約150枚の画像を持ち、画像は150pxと100pxのサイズにする必要があります。私はアプリがインターネット接続なしで動作すると思う。それは更新のために接続することができますが、それだけです。再びすべての意見ありがとう:)

+0

イメージをサーバーに保存しないでください。ウェブにコンテンツをアップロードするのが、デバイスに直接保存する場合に比べて遅い – MyKuLLSKI

答えて

1

画像を置いた場所には「ifs」、「buts」、「maybes」がたくさんありますが、正しいか間違った方法はないと思います。

高可用性を備えたビジネスクリティカルなアプリケーションの場合、残りのデータをバックアップできるため、アプリケーションをデータベースに格納することになります。データベースはミラーリングすることができるので、 'データ'として扱われるすべての画像を有益にすることができます。また、物事が大きくなり、ウェブファームが採用され、ロードバランサなどが使用されている場合、画像が1つの場所にあるときに役立ちます。

私にとって、私はデータベースに行きます。しかし、それは本当にアプリケーションの規模に依存します。

+0

私はすべての答えがうれしいです。思考とデータベースを選択した後、私はあなたの答えを選択します。お返事ありがとうございます –

+0

嬉しいことに、これは役に立ちました。 –

0

Webフォルダ。またAmazon S3のようなクラウドサーバーから自分のサーバーへのアクセスを解放するためにそれらをリモートでロードすることについて考える

1

私は個人的にすべてのイメージを隔離されたストレージに格納し、データベースにはイメージへのパスを保存します。

バイト[]は我々のアプリケーションのためにisolatedstorage

3

に、我々はハイブリッドアプローチが最善の仕事を見られるように、私はすべての画像を格納します。我々はFILESTREAMをサポートするように私たちのSQL環境を設定してから、すべての画像をインポートしました。これにより、実際のイメージをディスクに保存しながら、イメージを 'sql'にする柔軟性が得られます。あなたのためにうまくいくかもしれない高速なソリューションです。

0

最良のオプションは、それは本当にあなたがDBに保存した場合、それはすでにここに答えを間違っ

+2

私は同意しません。 Webに行くのが速くない – MyKuLLSKI

1

何をより多くの時間を要しないので、あなたがDBからそれらをretreiving時間を無駄になり、ウェブフォルダに自分の画像を保存することですが、あなたが達成しようとしているものと現在どのように設定されているかによって異なります。

ウェブサーバーの負荷を軽減するために、静止画像にコンテンツ配信ネットワークを使用することをお勧めします。

データベースから、またはファイル構造内のリソースファイルとして、好きなように配信できます。画像が静的である場合は、静的コンテンツのためにはるか遠くにある適切なキャッシュを追加することを忘れないでください。

イメージをレンダリングしている場合は、イメージをデータベースに保存して、任意の数のWebサーバーからイメージにアクセスできるようにします。

最近使用したイメージをメモリに保存したり、ローカルファイルシステムに保存したりすることで、これをさらに発展させて、毎回データベースからファイルを取得する必要はありません。

関連する問題