.Net下圖片的常見存儲與讀取凡是有以下幾種:
存儲圖片:以二進制的形式存儲圖片時,要把數據庫中的字段設置為Image數據類型(SQL Server),存儲的數據是Byte[].
1.參數是圖片路徑:返回Byte[]類型:
代碼如下:
public byte[] GetPictureData(string imagepath)
{
////根據圖片文件的路徑使用文件流打開,并保存為byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重載方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
}
2.參數類型是Image對象,返回Byte[]類型:
代碼如下:
public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
{
//將Image轉換成流數據,并保存為byte[]
MemoryStream mstream = new MemoryStream();
imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byData = new Byte[mstream.Length];
mstream.Position = 0;
mstream.Read(byData, 0, byData.Length);
mstream.Close();
return byData;
}
好了,這樣通過上面的方法就可以把圖片轉換成Byte[]對象,然后就把這個對象保存到數據庫中去就實現了把圖片的二進制格式保存到數據庫中去了。下面我就談談如何把數據庫中的圖片讀取出來,實際上這是一個相反的過程。
讀取圖片:把相應的字段轉換成Byte[]即:Byte[] bt=(Byte[])XXXX
1.參數是Byte[]類型,返回值是Image對象:
代碼如下:
public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
新聞熱點
疑難解答
圖片精選