我有兩個功能:如何將「爲System.Drawing.Image」添加到「System.Web.UI.WebControls.Image」
功能1:ImageToByteArray:是用來將圖像轉換成一個字節然後將數組存儲在Oracle數據庫的BLOB字段中。
public byte[] ImageToByteArray(string sPath)
{
byte[] data = null;
FileInfo fInfo = new FileInfo(sPath);
long numBytes = fInfo.Length;
FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fStream);
data = br.ReadBytes((int)numBytes);
return data;
}
功能2:ByteArrayToImage:用於轉換從數據庫中的字節數組成圖像:
public System.Drawing.Image ByteArrayToImage(byte[] byteArray)
{
MemoryStream img = new MemoryStream(byteArray);
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(img);
return returnImage;
}
以我標記我有一個Imgage控制: <asp:Image ID="Image1" runat="server" />
在後面的代碼我想將函數2的返回值(類型爲System.Drawing.Image)指定給類型爲「(image)」的控件(System.Web。 UI.WebControls.Image)。
很明顯,我不能只分配: image1 = ByteArrayToImage(byteArray);
,因爲我得到了以下錯誤:無法隱式轉換類型「爲System.Drawing.Image」到「System.Web.UI.WebControls.Image」
有沒有辦法做到這一點?
+1對於「data:image/jpg; base64」,+ Convert.ToBase64String((byte [])img); – Amol