asp网页中怎么从sql数据库读取图片
4个回答
展开全部
一般存放图片文件 不会把图片转化为二进制的然后存放在数据库里面,这样缺点是很多的,例如安全,黑客可以采用它攻击数据库攻击服务器,等等。
现在一般是把图先上传到服务器空间记录这张图片的物理位置,然后直接引用即可!而上传过程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
%>
现在一般是把图先上传到服务器空间记录这张图片的物理位置,然后直接引用即可!而上传过程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
%>
展开全部
看你是怎么存的。一般都是吧图片转换成字节码。存入数据库。然后在读出来转换成图片
再就是存URL地址的形式了。(一般我都这么用)这样比较快。而且数据不会因为图片变大。
再就是存URL地址的形式了。(一般我都这么用)这样比较快。而且数据不会因为图片变大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给服务器上建一个专门存放图片的文件夹,数据库里存放图片地址,在asp程序中指明图片地址就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1把图片存入数据库进行读取 不建议
2吧图片路径存入,图片存到特定文件夹速度更快 效率也高
2吧图片路径存入,图片存到特定文件夹速度更快 效率也高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询