asp网页中怎么从sql数据库读取图片

 我来答
全球旅行侦探
2011-01-11 · TA获得超过595个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:175万
展开全部
一般存放图片文件 不会把图片转化为二进制的然后存放在数据库里面,这样缺点是很多的,例如安全,黑客可以采用它攻击数据库攻击服务器,等等。
现在一般是把图先上传到服务器空间记录这张图片的物理位置,然后直接引用即可!而上传过程asp有asp的处理插件或者自带模块,如果是php那就更简单了,总之这部分处理是程序自己完成的,千万不要自己把图片转化为二进制的放入数据库!

这里我给你一段处理程序自己研究一下!
ASP上传图片二进制处理:
uppic.asp上传程序名

<%
dim rs
dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
formsize=request.totalbytes '取得客户端发过来的大小
formdata=request.binaryread(formsize)'把客户发过来的数据转成二进制作
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)'上面总共是取得图片的二进制数据
%>
<!--#include file="conn.asp"-->
<%
sql="select * from pic order by id desc"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql,conn,3,2
rs.addnew
rs("big").appendchunk mydata '增加到数据库中
rs.update
set rs=nothing
set conn=nothing
%>
接下来是显示图片

display.asp

<!--#include file="conn.asp"--> <%
id=request("id")
set rs=server.createobject("ADODB.recordset")
sql="select * from pic where id=" & id
rs.open sql,conn,1,1
Response.ContentType = "text/html" '显示图片的格式也可以用

'Response.ContentType = "image/gif" 以gif显示

'Response.ContentType = "image/jpg" 以jpg显示
Response.BinaryWrite rs("big") '显示图片
rs.close
set rs=nothing
set connGraph=nothing

%>
咪密兔解说
2011-01-11 · TA获得超过424个赞
知道小有建树答主
回答量:488
采纳率:0%
帮助的人:281万
展开全部
看你是怎么存的。一般都是吧图片转换成字节码。存入数据库。然后在读出来转换成图片
再就是存URL地址的形式了。(一般我都这么用)这样比较快。而且数据不会因为图片变大。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Medsee
2011-01-11 · TA获得超过881个赞
知道小有建树答主
回答量:822
采纳率:0%
帮助的人:496万
展开全部
给服务器上建一个专门存放图片的文件夹,数据库里存放图片地址,在asp程序中指明图片地址就可以了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闾翔33
2011-01-11
知道答主
回答量:25
采纳率:0%
帮助的人:14.4万
展开全部
1把图片存入数据库进行读取 不建议
2吧图片路径存入,图片存到特定文件夹速度更快 效率也高
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式