簡體   English   中英

在ASP.NET C#中顯示圖像

[英]Displaying image in ASP.NET C#

我正在將Base64代碼轉換為圖像,並且正在使用以下方式保存和顯示該圖像。

var kpin = Base64ToImage(TextBox1.Text);
kpin.Save(@"e:\myim.png");
Image1.ImageUrl = @"e:\myim.png";

和類是

public Image Base64ToImage(string base64String)
{
    byte[] imageBytes = Convert.FromBase64String(base64String);
    MemoryStream ms = new MemoryStream(imageBytes, 0,
      imageBytes.Length);
    ms.Write(imageBytes, 0, imageBytes.Length);
    Image image = Image.FromStream(ms, true);
    return image;
}

並且此過程工作正常,但我需要不要將圖像保存在硬盤中。 如何直接顯示此圖像而不保存到硬盤並取回。

除了將Image1.ImageURL設置為圖像的路徑,您還可以執行以下操作之一:

  1. 直接使用與Base64編碼數據img標簽在里面- http://www.sweeting.org/mark/blog/2005/07/12/base64-encoded-images-embedded-in-html並非所有的瀏覽器都支持這一點。
  2. 創建一個Action或Webform(取決於您是否使用ASP.NET MVC),將檢索或生成Base64編碼數據所需的任何內容作為輸入,然后設置響應標頭以提供正確的內容類型( image / png之類的圖片),然后將圖片直接寫入Response.OutputStream(或在ASP.NET MVC中使用ContentResult)。 通過Stackoverflow的大量示例說明了如何執行這些操作。

-M

完全不用理會圖像對象,只需直接執行即可:

public void Base64ToResponse(string base64String)
{
    Response.ContentType = "text/png"; //or whatever...
    byte[] imageBytes = Convert.FromBase64String(base64String);
    Response.OutputStream(imageBytes, 0, imageBytes.Length);
}

暫無
暫無

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

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