asp网页中怎么从sql数据库读取图片
答案:4 悬赏:50 手机版
解决时间 2021-03-02 04:57
- 提问者网友:你独家记忆
- 2021-03-01 22:18
asp网页中怎么从sql数据库读取图片
最佳答案
- 五星知识达人网友:第四晚心情
- 2021-03-01 23:24
一般存放图片文件 不会把图片转化为二进制的然后存放在数据库里面,这样缺点是很多的,例如安全,黑客可以采用它攻击数据库攻击服务器,等等。
现在一般是把图先上传到服务器空间记录这张图片的物理位置,然后直接引用即可!而上传过程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)'上面总共是取得图片的二进制数据
%>
<%
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
<%
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)'上面总共是取得图片的二进制数据
%>
<%
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
<%
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
%>
全部回答
- 1楼网友:摆渡翁
- 2021-03-02 02:17
1把图片存入数据库进行读取 不建议
2吧图片路径存入,图片存到特定文件夹速度更快 效率也高
2吧图片路径存入,图片存到特定文件夹速度更快 效率也高
- 2楼网友:一秋
- 2021-03-02 01:32
给服务器上建一个专门存放图片的文件夹,数据库里存放图片地址,在asp程序中指明图片地址就可以了!
- 3楼网友:長槍戰八方
- 2021-03-02 00:15
看你是怎么存的。一般都是吧图片转换成字节码。存入数据库。然后在读出来转换成图片
再就是存URL地址的形式了。(一般我都这么用)这样比较快。而且数据不会因为图片变大。
再就是存URL地址的形式了。(一般我都这么用)这样比较快。而且数据不会因为图片变大。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯