新聞中心
.NET二進(jìn)制圖片存儲(chǔ)與讀取的常見方法有以下幾種:

創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站易于使用并且具有良好的響應(yīng)性。
.NET二進(jìn)制圖片存儲(chǔ):以二進(jìn)制的形式存儲(chǔ)圖片時(shí),要把數(shù)據(jù)庫中的字段設(shè)置為Image數(shù)據(jù)類型(SQL Server),存儲(chǔ)的數(shù)據(jù)是Byte[].
1.參數(shù)是圖片路徑:返回Byte[]類型:
- public byte[] GetPictureData(string imagepath)
- {
- /**/////根據(jù)圖片文件的路徑使用文件流打開,并保存為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.參數(shù)類型是Image對(duì)象,返回Byte[]類型:
- public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
- {
- //將Image轉(zhuǎn)換成流數(shù)據(jù),并保存為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;
- }
好了,這樣通過上面的方法就可以把圖片轉(zhuǎn)換成Byte[]對(duì)象,然后就把這個(gè)對(duì)象保存到數(shù)據(jù)庫中去就實(shí)現(xiàn)了把圖片的二進(jìn)制格式保存到數(shù)據(jù)庫中去了。下面我就談?wù)勅绾伟褦?shù)據(jù)庫中的圖片讀取出來,實(shí)際上這是一個(gè)相反的過程。
.NET二進(jìn)制圖片讀取:把相應(yīng)的字段轉(zhuǎn)換成Byte[]即:Byte[] bt=(Byte[])XXXX
1.參數(shù)是Byte[]類型,返回值是Image對(duì)象:
- 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;
- }
2.參數(shù)是Byte[] 類型,沒有返回值,這是針對(duì)asp.net中把圖片從輸出到網(wǎng)頁上(Response.BinaryWrite)
- public void WritePhoto(byte[] streamByte)
- {
- // Response.ContentType 的默認(rèn)值為默認(rèn)值為“text/html”
- Response.ContentType = "image/GIF";
- //圖片輸出的類型有: image/GIF image/JPEG
- Response.BinaryWrite(streamByte);
- }
補(bǔ)充:
針對(duì)Response.ContentType的值,除了針對(duì)圖片的類型外,還有其他的類型:
- Response.ContentType = "application/msword";
- Response.ContentType = "application/x-shockwave-flash";
- Response.ContentType = "application/vnd.ms-excel";
另外可以針對(duì)不同的格式,用不同的輸出類型以適合不同的類型:
- switch (dataread("document_type"))
- {
- case "doc":
- Response.ContentType = "application/msword";
- case "swf":
- Response.ContentType = "application/x-shockwave-flash";
- case "xls":
- Response.ContentType = "application/vnd.ms-excel";
- case "gif":
- Response.ContentType = "image/gif";
- case "Jpg":
- Response.ContentType = "image/jpeg";
- }
以上就介紹了.NET二進(jìn)制圖片存儲(chǔ)和讀取的常見方法。
【編輯推薦】
- ASP.NET和SQL Server數(shù)據(jù)庫圖片存儲(chǔ)的實(shí)現(xiàn)
- ASP.NET數(shù)據(jù)庫圖片存儲(chǔ)到Sql2000中
- ASP.NET數(shù)據(jù)庫圖片上傳與讀取的實(shí)現(xiàn)
- ASP.NET(VB)應(yīng)用之圖片增加水印文字淺析
- 淺談.NET圖片快速處理的幾種方法
分享標(biāo)題:.NET二進(jìn)制圖片存儲(chǔ)與讀取的常見方法
地址分享:http://www.5511xx.com/article/cddidep.html


咨詢
建站咨詢
