ASP、Access如何上传图片
1、这有啥难得
< %
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 connGraph=server.CreateObject( ADODB.connection )
connGraph.ConnectionString= driver={Microsoft Access Driver (*.mdb)};DBQ= & server.MapPath( images.mdb ) & ;uid=;PWD=;
connGraph.Open
set rec=server.createobject( ADODB.recordset )
rec.Open SELECT * FROM [images] where id is null ,connGraph,1,3
rec.addnew
rec( img ).appendchunk mydata
rec.update
rec.close
set rec=nothing
set connGraph=nothing
% >

2、好了,这下我们就把上传来的图片保存到了名为images.mdb的数据库中了,剩下的工作就是要将数据库中的图片数据显示到网页上面了。一般在HTML中,显示图片都是使用标签,也就是,但是我们的图片是保存到了数据库中,图片路径是什么呢?呵呵,其实这个SRC属性除了指定路径外,也可以这样使用哦:
< IMG SRC= showimg.asp?id=xxx >

3、所以,我们所要做的就是在showimg.asp中从数据库中读出来符合条件的数据,并返回到SRC属性中就可以了。

4、注意在输出到浏览器之前一定要指定Response.ContentType = image/* ,以便正常显示图片。

5、最后要注意的地方是,我的process.asp中作的处理没有考虑到第一页(upload.htm)中还有其他数据,比如 < INPUT type=tesxt name=userid> 等等,如果有这些项目,你的process.asp就要注意处理掉不必要的数据。怎么样,其实上传图片并保存到数据库很简单吧,这样再也不用为自己的空间无法使用各类的上传组件发愁了吧。还等什么?赶快试一试吧。
