1. 程式人生 > >.NET中二進位制圖片的儲存與讀取

.NET中二進位制圖片的儲存與讀取

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

.NET二進位制圖片儲存:以二進位制的形式儲存圖片時,要把資料庫中的欄位設定為Image資料型別(SQL Server),儲存的資料是Byte[].

1.引數是圖片路徑:返回Byte[]型別: 

  1. publicbyte[] GetPictureData(string imagepath)  
  2.         {  
  3. //根據圖片檔案的路徑使用檔案流開啟,並儲存為byte[]     
  4.             FileStream fs = new FileStream(imagepath, FileMode.Open);
  5. byte[] byData = 
    newbyte[fs.Length];  
  6.             fs.Read(byData, 0, byData.Length);  
  7.             fs.Close();  
  8. return byData;  
  9.         }  

2.引數型別是Image物件,返回Byte[]型別: 

  1. publicbyte[] PhotoImageInsert(System.Drawing.Image imgPhoto)  
  2.         {  
  3. //將Image轉換成流資料,並儲存為byte[]   
  4.             MemoryStream mstream = new MemoryStream();  
  5.             imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);  
  6. byte[] byData = new Byte[mstream.Length];  
  7.             mstream.Position = 0;  
  8.             mstream.Read(byData, 0, byData.Length);  
  9.             mstream.Close();  
  10. return byData;  
  11.         } 

好了,這樣通過上面的方法就可以把圖片轉換成Byte[]物件,然後就把這個物件儲存到資料庫中去就實現了把圖片的二進位制格式儲存到資料庫中去了。下面我就談談如何把資料庫中的圖片讀取出來,實際上這是一個相反的過程。

.NET二進位制圖片讀取:把相應的欄位轉換成Byte[]即:Byte[] bt=(Byte[])XXXX

1.引數是Byte[]型別,返回值是Image物件: 

  1. public System.Drawing.Image ReturnPhoto(byte[] streamByte)  
  2.         {  
  3.             System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);  
  4.             System.Drawing.Image img = System.Drawing.Image.FromStream(ms);  
  5. return img;  
  6.         } 

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

  1. publicvoid WritePhoto(byte[] streamByte)  
  2.        {  
  3. // Response.ContentType 的預設值為預設值為“text/html”
  4.            Response.ContentType = "image/GIF";  
  5. //圖片輸出的型別有: image/GIF  image/JPEG
  6.            Response.BinaryWrite(streamByte);  
  7.        } 

補充:

針對Response.ContentType的值,除了針對圖片的型別外,還有其他的型別: 

  1. Response.ContentType = "application/msword";  
  2.             Response.ContentType = "application/x-shockwave-flash";  
  3.             Response.ContentType = "application/vnd.ms-excel"

另外可以針對不同的格式,用不同的輸出型別以適合不同的型別:  

  1. switch (dataread("document_type"))  
  2.             {  
  3. case"doc":  
  4.                     Response.ContentType = "application/msword";  
  5. case"swf":  
  6.                     Response.ContentType = "application/x-shockwave-flash";  
  7. case"xls":  
  8.                     Response.ContentType = "application/vnd.ms-excel";  
  9. case"gif":  
  10.                     Response.ContentType = "image/gif";  
  11. case"Jpg":  
  12.                     Response.ContentType = "image/jpeg";  
  13.             }

相關推薦

.NET二進位制圖片儲存讀取

.NET二進位制圖片儲存與讀取的常見方法有以下幾種: .NET二進位制圖片儲存:以二進位制的形式儲存圖片時,要把資料庫中的欄位設定為Image資料型別(SQL Server),儲存的資料是Byte[]. 1.引數是圖片路徑:返回Byte[]型別:  publicbyte[

C#+asp.net+sql資料庫完成圖片儲存讀取

我們在使用asp.net時經常會用到資料庫對圖片進行儲存和讀取,因此筆者對此進行了仔細研究,圖片的儲存和讀取有兩種方式: 一.以圖片的url地址的方式 在以圖片url地址的方式中,我們向資料庫中儲存的不是圖片本身,而是圖片的地址,讀取圖片的時候也是圖片的地址,根據儲存的地址

Numpy資料的常用的儲存讀取方法(附list)

Numpy中資料的常用的儲存與讀取方法 轉自:http://www.cnblogs.com/wushaogui/p/9142019.html 文章目錄: 1.儲存為二進位制檔案(.npy/.npz) numpy.save numpy.savez

【ASP.NET】Web的Cookie寫入讀取

1、是什麼?     Cookie是指儲存在使用者本地終端上的資料。是指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料。 2、怎麼寫入Cookie和讀取C

二進位制檔案操作-儲存讀取

目標:實現資料儲存為二進位制檔案,然後通過二進位制檔案解析資料。 目標分為三個階段:1、將資料結構轉化為二進位制(至於資料是怎樣讀取進來的這個就不說了,因為方式比較多,但是讀取進來一定都會以特定的資料結構形式來儲存)。2、載入二進位制文字。3、載入為對應的資料結構。 階段

C/C++ 影象二進位制儲存讀取

在深度學習時,製作樣本資料集時,需要產生和讀取一些二進位制影象的資料集,如MNIST,CIFAR-10等都提供了適合C語言的二進位制版本。 以CIFAR-10的資料集為例,官網上有兩段關鍵的介紹: 二進位制版本資料集格式為(影象大小為32x32):

tensorflow模型資料的儲存讀取

使用tensorflow過程中,訓練結束後我們需要用到模型檔案。有時候,我們可能也需要用到別人訓練好的模型,並在這個基礎上再次訓練。這時候我們需要掌握如何操作這些模型資料。看完本文,相信你一定會有收穫! 1 Tensorflow模型檔案 我們在checkpoint_dir

matlab mat格式資料儲存讀取

MAT-檔案:                         mat資料格式是matlab的資料儲存的標準格式。mat檔案是標準的二進位制檔案,還可以ASCII碼形式儲存和載入。 儲存mat檔案:                         save     

ASP.NET的參數特殊類型和特性

初始 name 泛型類 new console multiple blog net 通過 一、可選參數和命名參數 1、可選參數 語法: [修飾符] 返回類型 方法名(必選參數1...必選參數n,可選參數1..

localStorage 儲存讀取

element ora onclick win nbsp n) cti item fun window.onload=function(){ /** *其實也沒那麽難, *localStorage.setItem(json) 向本地儲存值

vue圖片載入顯示預設圖片

  原部落格地址:https://www.cnblogs.com/xulei1992/p/6558294.html     <div class="content-show-img">  <div class="show-img">    <img cl

關於tensorflowDataset圖片的批量讀取以及維度的操作

三維的讀取圖片(w, h, c): import tensorflow as tf import glob import os def _parse_function(filename): # print(filename) image_string = tf.re

tensorflow 訓練模型的儲存 讀取儲存的模型進行測試

在實際中,通常需要將經過大量訓練的較好模型引數儲存起來,在實際應用以訓練好的模型進行預測。 TensorFlow中提供了模型儲存的模組 tensorflow.train.Saver() 1. 匯入tensorflow模組        

轉《JavaScript圖片處理合成》

引言: 本系列現在構思成以下4個部分: 基礎型別圖片處理技術之縮放、裁剪與旋轉(傳送門); 基礎型別圖片處理技術之圖片合成(傳送門); 基礎型別圖片處理技術之文字合成(傳送門); 演算法型別圖片處理技術(傳送門); 通過這些積累,我封裝了幾個專案中常用的功能: 圖片合成 

預處理後資料的儲存讀取

在機器學習中,一般都需要先對資料進行資料預處理工作。模型一般需要反覆的調參,因此可能需要多次使用預處理之後的資料,但是反覆進行資料的預處理工作是多餘的,我們可以將其儲存下來。 #用pickle模組將處理好的資料儲存成pickle格式,方便以後呼叫,即建立一個checkpoint # 儲存資料方便呼叫

C#操作mysql的建表、基本儲存讀取

由於專案中要使用到資料庫來儲存一些基本資料,所以在此做了一些簡單的總結,也是最基本的mysql資料操作。 一、資料庫的儲存 專案中儲存資料時,需要根據操作者在介面上的操作來決定是否儲存(操作介面上有建立表格和儲存資料的按鈕),所以在儲存資料前,如果點選“建立表格”的話,會在mysql資料庫中

Pytorch模型的儲存讀取方法

方法一(推薦) 只儲存和載入模型的引數 # 儲存模型引數 def save_model(the_model, PATH): torch.save(the_model.state_dict(), PATH) # 載入模型引數 def load_model(PATH):

ASP.NET MVC + EF 利用儲存過程讀取大資料,1億資料測試很OK

 看到本文的標題,相信你會忍不住進來看看!   沒錯,本文要講的就是這個重量級的東西,這個不僅僅支援單表查詢,更能支援連線查詢,   加入一個表10W資料,另一個表也是10萬資料,當你用linq建立一個連線查詢然後

ASP.NET的物理路徑虛擬路徑

物理路徑:c:\PathsAndURLs\Content\Colors.html虛擬路徑:(http://localhost:53274/Content/Colors.html)路徑中埠號後面的那部分,即:/Content/Colors.html在Web窗體應用程式中,由於將以某種方式使用單個檔案(aspx,

IDEA tomcat圖片儲存和訪問虛擬路徑

目錄 2 最佳配置 1、idea 修改Tomcat的虛擬路徑(第一種方法) 修改配置檔案有很多種,但是一直不成功;後來想還是idea的配置原因,這裡tomcat虛擬路徑只說一種; 修改Tomcat安裝路徑下server.xml的檔案,路徑:apache