日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

二进制存储图片

發布時間:2023/11/27 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二进制存储图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二進制存儲圖片

如果我們要將一個圖片文件二進制于數據庫中,那么我們就必須將圖片文件轉化為二進制數據內容,再將二進制數據存儲至數據庫中,這是圖片存儲(或是其它文件數據庫存儲)的基本原則。

至于要從數據庫中讀取圖片數據并將它在頁面中顯示,我們所需要操作的步驟自然是與前面相反既可。從數據庫中讀取的圖片信息是二進制的,那么我們就必須將它轉化為原來的字符類型才能正常顯示。

下面我們將示例一個圖片文件讀取存儲至數據庫并從數據庫中讀取圖片信息并顯示的案例:

1、首先讀取硬盤上的某一具體圖片文件,讀取模式設置為readBinary方式:
<cffile action = "readBinary" file = "temp directory here#file.serverFile#" variable = "test">

2、將讀取出來的二進制內容存儲至數據庫中(注:數據庫字段需設置成能存儲圖片類型的字段,如blob類型):
<cfquery name = "insertImage" 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 name = "getImage" datasource = "datasource">
select image from imageTest where id = #some 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兩個步驟,我們也很容易的就完成了從數據庫中讀取圖片信息并在頁面顯示的功能。
總結:實際上,除了圖片文件可以如此處理,其它的文件也能通過類似方式進行處理,可將任意文件類型存儲至數據庫,只是文件大小的原因以及數據庫存儲讀取速度性能限制,我們基本上還是不建議將文件存儲至數據庫,畢竟硬盤讀取要快得多。

posted on 2007-09-03 12:23 瘋蜂 閱讀(...) 評論(...) ?編輯 收藏

轉載于:https://www.cnblogs.com/leetheone/articles/880057.html

總結

以上是生活随笔為你收集整理的二进制存储图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。