[英]Loading an image control from a local drive
我有一個文件夾C:\\ Images,其中包含一些圖像。 該文件夾不在我的項目中,我想知道是否有辦法將該文件夾中的圖像加載到ASP.NET Image控件上。
<asp:Image ID="img" runat="server" />
一種解決方案是使Images文件夾成為IIS上的虛擬目錄,但我想知道是否可以在不為Images文件夾創建虛擬目錄的情況下完成此操作。
假設授予對Images文件夾的正確訪問權限,您可以執行以下操作:
您的主頁:
protected void Page_Load(object sender, EventArgs e)
{
mainImage.ImageUrl = "ImageHandler.ashx?image=MyImage.jpg";
}
ImageHandler:
public void ProcessRequest(HttpContext context)
{
byte[] imageBytes = File.ReadAllBytes(@"C:\Images" + context.Request["image"]);
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite(imageBytes);
}
最終,圖像必須位於用戶瀏覽器可以看到的位置。
這意味着您可以選擇:
最佳實踐的答案是,如果圖像是站點的一部分,則將其放入您的項目中;如果該目錄是用戶上傳的圖像的存儲,則將其映射到虛擬目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.