簡體   English   中英

如何在Asp.net的圖像控件中顯示數據庫中的圖像?

[英]How to show a image in database in the image control of Asp.net?

如何在Asp.net的圖像控件中顯示數據庫中的圖像? 我們必須在asp.net頁面上顯示雇員的圖像及其詳細信息,但是問題是如何在asp.net圖像控件上顯示圖像,以便圖像控件通過ImageUrl屬性進行拍照。

請指導。

您可以創建一個HttpHandler(ashx)頁面,該頁面將使用查詢字符串並將其設置為圖像控件的imageUrl屬性。

<asp:image id="imgEmployee" imageUrl="DisplayImage.ashx?employeeId=<someId>"/>

現在在DisplayImage.ashx中,您可以像下面那樣覆蓋Processrequest:

    public void ProcessRequest (HttpContext context) 
    { 
          int employeeId;
          if (context.Request.QueryString["employeeId"] != null)
   employeeId = Convert.ToInt32(context.Request.QueryString["employeeId"]);
          else
            throw new ArgumentException("No parameter specified");

        byte[] imageData= ;// get the image data from the database using the employeeId Querystring
        Response.ContentType = "image/jpeg"; // You can retrieve this also from the database
        Response.BinaryWrite(imageData);

    } 

Web.config更改:-

<httpHandlers>
  <add verb="*" path="img/*" type="DisplayImage"/>
</httpHandlers>

這里這里的細節。

希望這可以幫助..

這也可以在不創建處理程序的情況下完成。

//get the image from the database as byte array
byte[] image = (byte[])dr["image"];

//set the ImageUrl of the Image Control as a Base64 string
Image1.ImageUrl = "data:image/jpeg;base64," + Convert.ToBase64String(image)

或者,如果還需要with和height,則使用MemoryStream創建Image並獲取image屬性。

using (MemoryStream ms = new MemoryStream(image))
{
    System.Drawing.Image imageFromDB = System.Drawing.Image.FromStream(ms);

    Image1.ImageUrl = "data:image/jpeg;base64," + Convert.ToBase64String(image);
    Image1.Width = imageFromDB.Width;
    Image1.Height = imageFromDB.Height;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM