ASP将图片上传到数据库中的小程序。

正好搞个东东要用,找了半天,都是些半截程序。不是不能用就是问题重重。搞了半天,才理了个完整能用的贴上。

一、建立一个数据库,表pic 内 字段id 类型自动编号, 字段pic 类型 OLE。

二、数据库连接conn.asp

<%'数据库连接
dim conn  
dim connstr
on error resume next
connstr="DBQ="+server.mappath("pic.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>

三、选择页面:index.asp

<form name="form" method="post" action="up.asp" enctype="multipart/form-data">
<input name="xx" type="file">
<input type="submit" name="Submit" value=" 提 交 ">
</form>

四、上传页面:up.asp

<%
dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
Response.Buffer=True
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"-->
<%set rs= Server.CreateObject("adodb.recordset")
sql="select * from pic"
rs.open sql,conn,3,3
rs.addnew
rs("pic").appendchunk mydata   '增加到数据库中
rs.update
rs.close
set rs=nothing
%>

五、查看图片页面:show.asp

<!--#include file="conn.asp"-->
<%id=Trim(Request.QueryString("id"))
if id="" then id=1
set rs= Server.CreateObject("adodb.recordset")
sql="select * from pic where id in ("&id&")"
rs.open sql,conn,1,1
Response.ContentType = "text/html"
Response.BinaryWrite rs("pic")
rs.close
set rs=nothing
%>

标签: none

评论已关闭