溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET二進制圖片存儲與讀取的常見方法是什么

發布時間:2021-07-15 15:20:58 來源:億速云 閱讀:126 作者:chen 欄目:編程語言

本篇內容主要講解“.NET二進制圖片存儲與讀取的常見方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“.NET二進制圖片存儲與讀取的常見方法是什么”吧!

.NET二進制圖片存儲與讀取的常見方法有以下幾種:

.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[]對象,然后就把這個對象保存到數據庫中去就實現了把圖片的二進制格式保存到數據庫中去了。下面我就談談如何把數據庫中的圖片讀取出來,實際上這是一個相反的過程。

.NET二進制圖片讀取:把相應的字段轉換成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;          }

2.參數是Byte[] 類型,沒有返回值,這是針對asp.net中把圖片從輸出到網頁上(Response.BinaryWrite)

public void WritePhoto(byte[] streamByte)         {             // Response.ContentType 的默認值為默認值為“text/html”             Response.ContentType = "image/GIF";             //圖片輸出的類型有: image/GIF  image/JPEG             Response.BinaryWrite(streamByte);         }

補充:

針對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二進制圖片存儲與讀取的常見方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女