婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > .Net下二進制形式的文件(圖片)的存儲與讀取詳細解析

.Net下二進制形式的文件(圖片)的存儲與讀取詳細解析

熱門標簽:外呼系統代理品牌 寧波自動外呼系統代理 十堰正規電銷機器人系統 手機地圖標注如何刪除 外呼系統費用一年 辦理400電話證件 怎么給超市做地圖標注入駐店 巫師3為什么地圖標注的財寶沒有 世紀佳緣地圖標注怎么去掉

.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;
        }

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";
            }

一些相關的東西,可以作為參考
復制代碼 代碼如下:

Image image= GetImageFromClipboard();//實現從剪切板獲取圖像的功能
System.IO.MemoryStream stream = new System.IO.MemoryStream();
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter
= new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); formatter.Serialize(stream, image);

FileStream fs=new FileStream("xx",FileMode.Open,FileAccess.Write);
fs.Write(stream.ToArray(),0,stream.ToArray().Length);

您可能感興趣的文章:
  • .net調用存儲過程詳細介紹
  • asp.net安全、實用、簡單的大容量存儲過程分頁
  • asp.net 結合mysql存儲過程進行分頁代碼
  • 在ASP.NET中用存儲過程執行SQL語句
  • asp.net 存儲過程調用
  • asp.net sql存儲過程
  • ASP.NET Core Project.json文件(5)

標簽:山西 平涼 泰州 嘉興 牡丹江 天門 通遼 景德鎮

巨人網絡通訊聲明:本文標題《.Net下二進制形式的文件(圖片)的存儲與讀取詳細解析》,本文關鍵詞  .Net,下,二進制,形式,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.Net下二進制形式的文件(圖片)的存儲與讀取詳細解析》相關的同類信息!
  • 本頁收集關于.Net下二進制形式的文件(圖片)的存儲與讀取詳細解析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 德化县| 鄂托克旗| 文登市| 绥江县| 环江| 万年县| 大丰市| 始兴县| 乳山市| 江川县| 玉林市| 宽城| 梁河县| 仁怀市| 梁山县| 德兴市| 惠水县| 秭归县| 榆中县| 聂荣县| 长寿区| 苍溪县| 绵阳市| 奉节县| 东乡族自治县| 井陉县| 肇源县| 台江县| 琼海市| 海安县| 策勒县| 淅川县| 伽师县| 凤庆县| 衢州市| 盐亭县| 安国市| 濮阳市| 浦城县| 开江县| 安福县|