怎样读取数据库中存储的二进制图片文件 10

 我来答
wuli_77
2011-09-16
知道答主
回答量:22
采纳率:0%
帮助的人:13.7万
展开全部
下面我们将示例一个图片文件读取存储至数据库并从数据库中读取图片信息并显示的案例:

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两个步骤,我们也很容易的就完成了从数据库中读取图片信息并在页面显示的功能。

总结:实际上,除了图片文件可以如此处理,其它的文件也能通过类似方式进行处理,可将任意文件类型存储至数据库,只是文件大小的原因以及数据库存储读取速度性能限制,我们基本上还是不建议将文件存储至数据库,毕竟硬盘读取要快得多。
ljaxf1314
2011-09-16 · 超过23用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:63.2万
展开全部
和其他类型意义读取,不需特别, 取出来后,使用相应的image类变量保存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gongbiqin
推荐于2017-09-01
知道答主
回答量:29
采纳率:0%
帮助的人:12.9万
展开全部
数据库oracle,开发语言C#

byte[] bytes = OleDbDB.GetScalarStr("select feild from table") as byte[];//从数据库中读取数据转化成字节数组
System.IO.MemoryStream ms = new MemoryStream(bytes);//创建流
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);//从流中创建image对象
img.Save(path);//将image对象保存成图片
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式