當前位置:首頁 » 存儲配置 » 二進制圖片存儲資料庫

二進制圖片存儲資料庫

發布時間: 2024-02-29 17:35:51

㈠ 圖片如何存放在oracle資料庫

1、使用blob將圖片保存為二進制格式,(唯蔽清可以用瀏覽器來轉換)隨後用base64編碼來保存圖片,再將base64編碼保存進資料庫的clob類指前型欄位上。

㈡ 怎麼將圖片轉換成二進制,存入資料庫,然後怎麼讀出來並顯示

1.將Image圖像文件存入到資料庫中

我們知道資料庫里的Image類型的數據是"二進制數據",因此必須將圖像文件轉換成位元組數組才能存入資料庫中.

要這里有關數據的操作略寫,我將一些代碼段寫成方法,方便直接調用.

//根據文件名(完全路徑)
public byte[] SetImageToByteArray(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);
int streamLength = (int)fs.Length;
byte[] image = new byte[streamLength];
fs.Read(image, 0, streamLength);
fs.Close();
return image;
}

//另外,在ASP.NET中通過FileUpload控制項得到的圖像文件可以通過以下方法
public byte[] SetImageToByteArray(FileUpload FileUpload1)
{
Stream stream = FileUpload1.PostedFile.InputStream;
byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];
stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);
stream.Close();
return photo;
}

2.從sql Server資料庫讀取Image類型的數據,並轉換成bytes[]或Image圖像文件

//要使用SqlDataReader要載入using System.Data.SqlClient命名空間
//將資料庫中的Image類型轉換成byte[]
public byte[] SetImage(SqlDataReader reader)
{
return (byte[])reader["Image"];//Image為資料庫中存放Image類型欄位
}

//將byte[]轉換成Image圖像類型
//載入以下命名空間using System.Drawing;/using System.IO;
using System.Data.SqlClient;*/
public Image SetByteToImage(byte[] mybyte)
{
Image image;
MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}

㈢ asp如何將圖片以二進制方式存如資料庫。非form方式

可以試試用ADODB.Stream這個組件,這是ADO默認安裝的,大多數ASP空間都支持的一個組件.
該組件支持二進制文件的讀寫操作,可以試試.
Set aso = CreateObject("ADODB.Stream")
aso.Mode = 3
aso.Type = 1
aso.Open
aso.LoadFromFile("文件的本地路徑")
bstr = aso.Read(-1)
aso.Close
Set aso = Nothing
bstr 即為二進制內容.

㈣ 怎樣讀取資料庫中存儲的二進制圖片文件

下面我們將示例一個圖片文件讀取存儲至資料庫並從資料庫中讀取圖片信息並顯示的案例:
1、首先讀取硬碟上的某一具體圖片文件,讀取模式設置為readBinary方式:
<cffile
action
=
"readBinary"
file
=
"temp
directory
here#file.serverFile#"
variable
=
"test">
2、將讀取出來的二進制內容存儲至資料庫中(註:資料庫欄位需設置成能存儲圖片類型的欄位,如blob類型):
<cfquery
datasource
=
"datasource">
insert
into
imageTest
values
(<cfqueryparam
cfsqltype="cf_sql_blob"
value="#test#">)
</cfquery>
通過1、2兩個步驟,我們輕松實現了讀取圖片文件並存儲至資料庫的操作過程。
3、從資料庫中讀取圖片信息,該文件可命名為dispImage.cfm:
<!---
在此需特別注意enablecfoutputonly的壓縮空白功能,如果不對該頁面進行空白壓縮,很可能會造成圖片無法顯示的問題
--->
<cfprocessingdirective
suppressWhiteSpace="yes">
<cfsetting
enablecfoutputonly="yes">
<!---
讀取相應的圖片信息
--->
<cfquery
datasource
=
"datasource">
select
image
from
imageTest
where
variable
here#
</cfquery>
<!---
設置瀏覽器輸出的格式,我們將它設置為圖片的JPG類型,用戶可根據實際情況改動類型設置
--->
<cfcontent
type="image/jpg">
<!---
輸出圖片
--->
<cfoutput>#toString(imageTest.image)#</cfoutput>
</cfprocessingdirective>
<cfabort>
4、顯示圖片內容,調用dispImage.cfm頁面:
<img
src
=
"dispImage.cfm?id=your
variable
here">
通過3、4兩個步驟,我們也很容易的就完成了從資料庫中讀取圖片信息並在頁面顯示的功能。
總結:實際上,除了圖片文件可以如此處理,其它的文件也能通過類似方式進行處理,可將任意文件類型存儲至資料庫,只是文件大小的原因以及資料庫存儲讀取速度性能限制,我們基本上還是不建議將文件存儲至資料庫,畢竟硬碟讀取要快得多。

php圖片以二進制的方式存儲在資料庫的問題

mysql自己有select語句,用這個來操作
比如說你每個圖片主碼設一個auto_increasment的id(自動以1,2,3這樣排序下去的方式存圖片),然後比如說一共有50張圖片,依次讀出for(i=0,i<50,i++){select
圖片
from
資料庫
where(圖片id=
i);}就這樣可以依次根據圖片的id讀下去。

㈥ 在資料庫中可用來存儲圖片的欄位對象是那種類型的欄位

圖片存儲到資料庫的方式一般分類兩種,一是直接圖片文件存儲到資料庫,二是將圖片存儲磁碟,資料庫中存儲其物理路徑
一、 把圖片直接以二進制形式存儲在資料庫中
一般資料庫提供一個二進制欄位來存儲二進制數據。比如SQL Server中的BINARY,VARBINARY;
1、BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。

2、VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。

一般情況下,由於BINARY 數據類型長度固定,因此它比VARBINARY 類型的處理速度快
另,MySQL中有個blob欄位。Oracle資料庫中是blob或bfile類型
2、 圖片存儲在磁碟上,資料庫欄位中保存的是圖片的路徑
存儲路徑存儲路徑字元串即可,sql中可以使用varchar/nvarchar;mysql可以使用varchar
總結:將圖片文件直接以二進制存儲資料庫需要將圖片提前轉為二進制數據,以存儲圖片物理路徑的方式需要將圖片文件放置指定位置,這都需要配合不同的編程語言實現;

熱點內容
emojijava 發布:2024-07-27 12:57:07 瀏覽:156
編程培訓福州 發布:2024-07-27 12:28:06 瀏覽:876
哈弗h6女生適合哪個配置 發布:2024-07-27 12:10:52 瀏覽:954
memcached啟動腳本 發布:2024-07-27 11:55:41 瀏覽:558
電動車怎麼看配置 發布:2024-07-27 11:55:05 瀏覽:238
mfc打開默認文件夾 發布:2024-07-27 11:41:23 瀏覽:648
電腦找不到伺服器的原因 發布:2024-07-27 11:33:58 瀏覽:864
sql2005操作 發布:2024-07-27 11:33:19 瀏覽:437
安卓什麼app軟體可以代替藍牙 發布:2024-07-27 11:24:50 瀏覽:745
vb編譯運行 發布:2024-07-27 11:14:42 瀏覽:754