您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“.NET二進(jìn)制圖片存儲與讀取的常見方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“.NET二進(jìn)制圖片存儲與讀取的常見方法是什么”吧!
.NET二進(jìn)制圖片存儲與讀取的常見方法有以下幾種:
.NET二進(jìn)制圖片存儲:以二進(jìn)制的形式存儲圖片時,要把數(shù)據(jù)庫中的字段設(shè)置為Image數(shù)據(jù)類型(SQL Server),存儲的數(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對象,返回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[]對象,然后就把這個對象保存到數(shù)據(jù)庫中去就實(shí)現(xiàn)了把圖片的二進(jìn)制格式保存到數(shù)據(jù)庫中去了。下面我就談?wù)勅绾伟褦?shù)據(jù)庫中的圖片讀取出來,實(shí)際上這是一個相反的過程。
.NET二進(jìn)制圖片讀取:把相應(yīng)的字段轉(zhuǎn)換成Byte[]即:Byte[] bt=(Byte[])XXXX
1.參數(shù)是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; }
2.參數(shù)是Byte[] 類型,沒有返回值,這是針對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ǔ)充:
針對Response.ContentType的值,除了針對圖片的類型外,還有其他的類型:
Response.ContentType = "application/msword"; Response.ContentType = "application/x-shockwave-flash"; Response.ContentType = "application/vnd.ms-excel";
另外可以針對不同的格式,用不同的輸出類型以適合不同的類型:
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)制圖片存儲與讀取的常見方法是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。