数据库是access, 字段img的数据类型是OLE 对象.
上传图片并显示页面:
default.asp
<%
set conn=server.CreateObject("ADODB.connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("images.mdb")
set rs=server.createobject("ADODB.recordset")
sql="select * from images"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
else
do while not rs.eof
%>
<img src="showimg.asp?id=<%=rs("id")%>">
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
set conn=nothing
%>
<hr>
<center>
上传图片:<form name="mainForm" enctype="multipart/form-data" action="saveimg.asp" method=post>
<input type=file name=mefile><br>
<input type=submit name=ok value="OK">
</form>
</center>
saveimg.asp
<%
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)
set conn=server.CreateObject("ADODB.connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("images.mdb")
set rs=server.createobject("ADODB.recordset")
rs.Open "SELECT * FROM [images] where id is null",conn,1,3
rs.addnew
rs("img").appendchunk mydata
rs.update
rs.close
set rec=nothing
set conn=nothing
response.Redirect "default.asp"
%>
showimg.asp
<%
set conn=server.CreateObject("ADODB.connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("images.mdb")
set rs=server.createobject("ADODB.recordset")
sql="select img from images where id="&request("id")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
else
do while not rs.eof
Response.ContentType = "image/*"
Response.BinaryWrite rs("img").getChunk(7500000)
rs.movenext
loop
end if
rs.close
set rs=nothing
set conn=nothing
%>