0

いくつかの記事があるASP.NETMVCWebサイトを開発しています。各ユーザーは好きなだけ記事を作成できますが、まったく問題ありません。その記事に関連する画像(最大N枚)をユーザーにアップロードできるようにしましたが、問題はありません。

私の問題は、サイトに多くの画像が含まれるため、画像ストレージを少数のハードドライブに分割したいということです。2台のハードドライブを備えた専用サーバーがあり、ローカルのC:\フォルダーではなくD:\にイメージを保存できるようにしたいと考えています。また、どうやらサイト用に別のサーバーを追加する必要があるので、同じWebアプリケーションからアクセスできる別のサーバーに画像を保存できるようにしたいと思います。

私のコードは非常にシンプルにServer.MapPath("~/Content/uploads/" + article.ArticleIdentifier)なりました。フォルダコンテナとして使用し、関連する画像を保存するだけです。

同じWebアプリケーションでいくつかのHDまたはサーバーに保存された画像を共有するための推奨される方法は何ですか?

4

1 に答える 1

1

最も安全な方法は、IISでファイルが保存されている仮想ディレクトリを作成することです。仮想ディレクトリは、IISがサポートする任意の場所(物理、UNCなど)を指すことができるため、柔軟性が最も高くなります。また、ファイルが別のサーバー上にある場合でも、ファイルのアップロードと管理に関するセキュリティ上の懸念がある限り、アプリケーションのアクセス許可の昇格の問題が発生することはありません。適切なユーザーが読み取り/書き込みのアクセス許可を持っていることを確認する必要があります。

IISで仮想ディレクトリを作成する

C#で仮想ディレクトリにアクセスする:

非推奨のAPIServer.MapPath("~/VirtualDir/");

現在のAPIHostingEnvironment.MapPath("~/VirtualDir/");

于 2013-01-31T22:33:57.983 に答える