簡體   English   中英

如何從Asp.Net中的二進制數據加載圖像?

[英]How to load image from binary data in Asp.Net?

我是.net技術的初學者。 我正在使用VS2008,C#,Asp.Net 3.5 Framework,SQL SERVER2005。在數據庫表“ Cust_M_Tbl”中,存在一個varchar(500)類型的字段,即Cust_Image。 Cust_Image中的值是

mspZVnmQlz1GgRRpQEqBFGTHeUELiUhxQQ2GQU9BF3DCUYEeaiJJAQQLKGCBDYcySMENDi9qgQWJv0xBEe8sWkEEDr19QQWMxVoBE20odAEGFDtZAQeBtUtBDn7NUkEd0ytIAQl/r4WBBooWTAEHiCSGAQiMyjEBCFG+KYELYSoowQzluisBBt1NTwEYSM4hgQ5LTTpBD0e5KUEGYa0ugQxqoCLBCWgZKcEKcJJZQQ2DM1nBBAszVoEHiQMSZGhtcwEGCgwPExQUExMUFAMSYmVqcHUECQsOEBMTEhITFAISZWVobnUDCA0PERMVFRQUFRUDEWBjaG5yAQYLDg8REREREQISamlqb3UFCQ0PEhMUFRUWFhYDEV9hZmxxdQMJDQ4PEBEREQIRa2xucXcGCg0PEhMVFhgZGQQRY2ZpbXIBBgsNDxASExQDEHJzdgMHDA0PEBMVFxgZBBFiY2ZpbnMDCQsNDxIVFwMPc3YDBgkNDQ4PExQWGAQRXl9hY2ZqcwQIDBATFxgEDgQHCgwPDQ8PEhMVAxFXWFlcXV9hbXYFCxIWGRoGDA0ODwsODxMDEFVXV1dVVltkcwYOFhodAAD/Aw1PUVFQTk5RV2YKEQAA/wQMR0VFR0ZJQz0xAAD/BQdCQkMY8B0ZtKlQFCF/MssEMp7YkXe5scQP8fmd96ZVrvO8oGFXhoDAjEe5o+U/XAnxKOTp9vDgoSTOH22Eg2rytkcs9uqvFV7GSeUaetGWD0jVWeSqCuD6Sb6l/KxsWXbH1iDoY8LJhgKhkvVBei3Xmp4gx74bl58QiXckdX0KgxJhDWSa/zDvZvGfSVKVLvXzhv8/A+3tV1M36hSdkpPukozfqJj4O9ELUHNNUj8SRvFr0do7bU6tXqEbVubYYiVnalpHbCb07QoVPsO402Lwu3d9vnk6+bnZ/zbgpmAm4zfCLQrlOseeQ4XOarfqeCA14qS2EWZxATfilss++PYY+xymdxgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGA==

我想在我的網頁中顯示此客戶圖像。 我該怎么做? 我應該解密嗎? 還是其他格式? 任何幫助將不勝感激。 問候,

解碼為@Christophe Geers建議使用后

string encodedString = "your image data encoded as base 64 char array";
byte[] data = Convert.FromBase64String(encodedString);

Response.BinaryWrite(data);

也許這可以提供更多幫助: http : //odetocode.com/articles/172.aspx

這看起來像Base64編碼 您可以在此處找到在線解碼器:

http://en.wikipedia.org/wiki/Base64

它將您的輸入驗證為有效的Base-64 char數組。

您可以通過以下方式在C#中解碼base64字符串:

string encodedString = "your image data encoded as base 64 char array";
byte[] data = Convert.FromBase64String(encodedString);

有關更多信息,請參閱MSDN上的FromBase64String文章。

現在,您想在ASP.NET網頁(* .ASPX)上顯示圖像。

例如:

<img src="myimage.jpg" />

而不是引用實際的圖像文件(例如:myimage.jpg),而是要引用一個ASP.NET處理程序(* .ASHX),該處理程序為圖像的字節提供服務(在上一個代碼示例中,名為data的byte []數組) 。

例如:

<img src="ImageHandler.ashx" />

圖像處理程序的代碼如下所示:

public class ImageHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        // Load the image (see previous code sample)
        byte[] data = ...;

        // Display the image
        context.Response.OutputStream.Write(data, 0, data.Length);
        context.Response.ContentType = "image/JPEG";
    }
}

閱讀有關在MSDN上實現IHttpHandler的更多信息

您需要將標識符傳遞給imagehandler.ashx頁面,以便知道要檢索的圖像。

例如:

<img src="ImageHandler.ashx?id=<%=id%>" />

放置它而不是img標簽或ASP.NET圖像控件。

暫無
暫無

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

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