2017-03-21 27 views
2

私は約600の静的なイメージが私のWebアプリケーションのために保存し、使用する必要があり、私はこのアプリケーションのためにどのような種類のオプションがあるのだろうかと思っていた。イメージをファイルシステム、データベース、またはBLOBに保存するには?

典型的な手順は何ですか? 私の選択肢は何ですか?それぞれのプロとコンシは何ですか?

ありがとうございます。

答えて

2

サイトから配信する静的リソースは、wwwrootフォルダの下に保存する必要があります。 imagesというサブフォルダに入れておくことをお勧めしますが、どの組織であれ自分のために使用できます。スクリプト、スタイルシート、イメージなどの静的リソースを提供するためにCDN(コンテンツ配信ネットワーク)を使用する価値がある理由はたくさんあります。その場合、イメージをそこに保存することができます。たとえばAmazon CloudFrontは、この目的に使用できる安価なCDNサービスです。これにより、イメージがサイトの資産と並行して読み込まれ、サーバーの負荷が軽減され、CDNサーバーがクライアントに地理的に近いエッジサーバー上のイメージをホストするため、ページの読み込み時間が短縮されますサーバーの世界の反対側は、サーバーからファイルをロードした場合よりも高速にファイルを取得します)。

これは全体的にASP.NETコアの質問ではありませんが、一般的なWebサイトの質問です。 ASP.NET Coreは、静的ファイルミドルウェアがインストールされている限り、静的リソースを提供しますが、他にはそれとはあまり関係がありません。ファイルをwwwrootの下に置くだけで、CDNを使う価値はないと思うのであれば、いいですね。

+0

だから、wwwrootに600以上の画像を保存することには欠点がないと言っていますか? – tocoolforscool

+1

私はそれを目の当たりにしません。必要に応じていくつかのフォルダを使用して整理してください。それ以外の場合は整理してください。あなたはどんな問題を心配していますか? – ssmith

+1

ファイルシステムは、データベースとは対照的に、ファイルを格納するのに適した場所の1つです。ほとんどのパフォーマンスの問題と同様に、通常は時期尚早に最適化しないことをお勧めします。作業コードを最も速く出荷する最も簡単な方法ですが、簡単に後で変更することができます。この場合、サーバからのサービスファイルが何らかの問題を引き起こしていることが判明した場合は、それらをCDNに移動することを検討してください。あなたが見つけるより大きな問題は、CDNが役立つユーザーのページ読み込み時間を最適化することであり、サイトの本質的なperf問題ではありません。 – ssmith

関連する問題