• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

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

    來源:懂視網 責編:小采 時間:2020-11-27 22:40:38
    文檔

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

    .Net下二進制形式的文件(圖片)的存儲與讀取詳細解析:.Net下圖片的常見存儲與讀取凡是有以下幾種:存儲圖片:以二進制的形式存儲圖片時,要把數據庫中的字段設置為Image數據類型(SQL Server),存儲的數據是Byte[]. 1.參數是圖片路徑:返回Byte[]類型: 代碼如下:public byte[] GetPictureDat
    推薦度:
    導讀.Net下二進制形式的文件(圖片)的存儲與讀取詳細解析:.Net下圖片的常見存儲與讀取凡是有以下幾種:存儲圖片:以二進制的形式存儲圖片時,要把數據庫中的字段設置為Image數據類型(SQL Server),存儲的數據是Byte[]. 1.參數是圖片路徑:返回Byte[]類型: 代碼如下:public byte[] GetPictureDat

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

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

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

    .Net下二進制形式的文件(圖片)的存儲與讀取詳細解析:.Net下圖片的常見存儲與讀取凡是有以下幾種:存儲圖片:以二進制的形式存儲圖片時,要把數據庫中的字段設置為Image數據類型(SQL Server),存儲的數據是Byte[]. 1.參數是圖片路徑:返回Byte[]類型: 代碼如下:public byte[] GetPictureDat
    推薦度:
    標簽: 圖片 存儲 讀取
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美 日韩 精品 另类视频| 亚洲中文字幕无码久久精品1| 人妻偷人精品成人AV| 国产精品久久久久久一区二区三区| 亚洲无码日韩精品第一页| Xx性欧美肥妇精品久久久久久| 国内精品久久久久伊人av| 完整观看高清秒播国内外精品资源| 亚洲国产精品久久66| 人妻少妇偷人精品无码| 欧美成人精品网站播放| 国产成人精品日本亚洲专区| 久久精品国产精品国产精品污| 国产精品亚洲日韩欧美色窝窝色欲| 亚洲电影日韩精品| 国产亚洲精品资在线| 91精品国产高清久久久久久91| 97精品久久天干天天天按摩| 人人妻人人澡人人爽精品日本| 亚洲精品一级无码中文字幕| 久久激情亚洲精品无码?V| 国产成人精品高清不卡在线| 久久夜色精品国产亚洲| 国产精品天天影视久久综合网| 国内精品九九久久久精品| 四虎成人精品无码| 一本一本久久A久久综合精品| 欧洲精品一区二区三区在线观看| 国产精品极品美女自在线观看免费| 欧美国产亚洲精品高清不卡| 99精品在线观看| 99re国产精品视频首页| 国产精品成人A区在线观看| 久久精品国产亚洲av影院| 日韩精品久久久肉伦网站| 无码日韩精品一区二区三区免费 | 久久夜色精品国产噜噜麻豆| 亚洲国产精品无码中文字| 中文字幕无码久久精品青草| 亚洲精品国产字幕久久不卡 | 精品日产一区二区三区手机|