91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

.Net中如何存儲和讀取二進制形式的文件

發布時間:2021-10-11 15:15:01 來源:億速云 閱讀:142 作者:小新 欄目:開發技術

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

讀取圖片:把相應的字段轉換成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中如何存儲和讀取二進制形式的文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

峨边| 漳州市| 五大连池市| 嘉禾县| 饶阳县| 楚雄市| 中江县| 杭州市| 龙里县| 东丽区| 临武县| 纳雍县| 凤城市| 邵东县| 孝感市| 攀枝花市| 乌海市| 潍坊市| 蕉岭县| 汉源县| 白朗县| 伊宁市| 刚察县| 桓仁| 盐池县| 中西区| 图木舒克市| 柳河县| 海门市| 白河县| 蓬安县| 磐石市| 图片| 沅江市| 合水县| 昌乐县| 闽侯县| 朝阳区| 北宁市| 崇州市| 丹凤县|