からの画像へのアクセス、私はその安全なフォルダ を知っているが、私は、私はHTMLからこの画像ファイルにアクセスできる方法がわからない(何も画像が表示されない)私はApp_Dataにフォルダ内のいくつかの画像を保存したいApp_Dataフォルダ
されています提案がありますか、または外部ユーザーからアクセスできない安全な場所に画像を保存する方法
からの画像へのアクセス、私はその安全なフォルダ を知っているが、私は、私はHTMLからこの画像ファイルにアクセスできる方法がわからない(何も画像が表示されない)私はApp_Dataにフォルダ内のいくつかの画像を保存したいApp_Dataフォルダ
されています提案がありますか、または外部ユーザーからアクセスできない安全な場所に画像を保存する方法
次のようにしてください。
namespace Moo.Core.Handlers
{
public class Thumbnail : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
String FileName = Path.GetFileName(context.Request.PhysicalPath).Replace(".th", "");
String AssetName = HttpContext.Current.Request.MapPath(Path.Combine(HttpContext.Current.Request.ApplicationPath, "UserData/Images/" + FileName));
if (File.Exists(AssetName))
{
context.Response.ContentType = ImageManipulation.TypeOf(AssetName).MimeType;
context.Response.BinaryWrite(File.ReadAllBytes(AssetName));
context.Response.End();
}
}
}
}
App_Dataフォルダーは、データベース、XMLファイル、およびその他の形式のデータストレージを保持するように設計されています。そこに画像を保存する必要はありません。代わりに、別の場所にフォルダを作成し、Webサーバーを使用してそのフォルダのディレクトリの参照を無効にします。最後に、ユーザーが画像を見ることができる場合、ユーザーは一方向または他の方法でアクセスできますが、ディレクトリブラウザを無効にすると、たとえばWindowsエクスプローラのようにフォルダを移動することはできません。
画像へのアクセスを制御したい場合は、ファイルをデータベースに保存し、必要なユーザーにバイナリイメージとして取得できます。例:
<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
詳細については、hereをご覧ください。
それは良い解決策ですが、私が探しているものではありません –
私はただ助けようとしていました。 –
より完全な答えを得るには、ハンドラの設定(必要な場合)と、このハンドラを使ってHTMLでイメージをどのように参照するのかを追加できますか? –
私はPCに戻ったときに私はやります。 – Moo