[英]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.