次のようにServer.MapPathを使用して、サイトルートの同じレベルにあるディレクトリへのパスを取得できます。
@{
var root = Server.MapPath(".");
var temp = root.Split('\\');
temp[temp.Length - 1] = "Data";
var newpath = string.Join("\\", temp);
}
ホスティング会社は、Access mdbデータベースなどの安全な場所として、ルートフォルダの外に「データ」ディレクトリを提供していました。サイトのルート外にあるディレクトリを直接参照することはできません。ASP.NETは、の導入により、これらの必要性を排除しましたApp_Data
。最近この種のフォルダを使用したい唯一の理由は、ディレクトリのコンテンツを提供する前に何らかの認証を適用したい場合です。次に、ハンドラーを使用する必要があります。そうしないと、単純なcshtmlファイルで十分です。WebSecurity
ヘルパーとヘルパーを組み合わせて、WebImage
最初にユーザーを認証し、テストに合格した場合は画像を取得して表示できます。src
タグ内のimg
は、クエリ文字列またはUrlData
値を指定すると、表示する画像がわかります。
画像を表示する前にユーザーを検証する必要がない場合は、画像ファイルをルートの外部に保存すると、不必要なレベルの複雑さが増します。