2011-12-12 74 views
2

我是.net技術的初學者。我使用的是VS2008,C#,Asp.Net 3.5 Framework,SQL SERVER 2005.在數據庫表'Cust_M_Tbl'中,有一個varchar(500)類型的字段,即Cust_Image。 Cust_Image中的值爲如何從Asp.Net中的二進制數據加載圖像?

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

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

+0

你嘗試過什麼?順便說一下,你不應該發佈客戶圖片來源,它可以保存個人信息。 – Reniuz

+0

@Reniuz ....其編輯過的一個例子 – sun

回答

1

爲@Christophe格爾斯解碼後建議 使用

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

0

這看起來像Base64 encoding。你可以在這裏找到一個在線解碼器:

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

它驗證您的輸入作爲一個有效的Base-64字符數組。

您可以通過以下方式進行解碼在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"; 
    } 
} 

Read more about implementing an IHttpHandler on MSDN

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

例如爲:

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

將這個而不是你的IMG標籤或你的ASP.NET圖像控制的。

+0

雖然它是第一步它並沒有真正解釋如何顯示圖像 –

+0

@Christophe Geers ....我得到了這個錯誤 - 錯誤 The名稱'編碼'在當前上下文中不存在。我如何將這些數據加載到我的img控件中? – sun

+0

你確定你確實需要在字符串中保存字節[]嗎?爲什麼? –

相關問題