(Access2000): img.mdb
表img:
字段名称 类型 描述
id 自动编号 主键值
img OLE对象 用来保存图片数据
-----------------------------------
文件upload.htm:
1<html>
2<body>
3<center>
4<form action="process.asp" enctype="multipart/form-data" method="post" name="mainform">
5<input name="mefile" type="file"/><br/>
6<input name="ok" type="submit" value="OK"/>
7</form>
8</center>
9</body>
10</html>
文件process.asp
1
2
3Response.Buffer=true
4formsize=Request.TotalBytes
5formdata=Request.BinaryRead(formsize)
6
7bncrlf=chrb(13)&chrb(10)
8divider=leftb(formdata,clng(instrb(formdata,bncrlft))-1)
9datastart=instrb(formdata,bncrlf&bncrlf)+4
10dataend=instrb(datastart+1,formdata,divider)-datastart
11mydata=midb(formdata,datastart,dataend)
12
13set connGraph=server.CreateObject ("ADODB.connection")
14connGraph.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & server.MapPath("img.mdb")
15connGraph.Open
16
17set rec=server.CreateObject("ADODB.recordset")
18rec.Open "select * from img where id is null",connGraph,1,3
19rec.AddNew
20rec("img").AppendChunk mydata
21rec.Update
22
23rec.Close
24set rec=nothing
25set connGraph=nothing
26
---------------------------------------
文件showimg.asp:
1
2
3set connGraph=server.CreateObject("ADODB.connection")
4
5connGraph.ConnectionString="driver={Microsoft Access Driver (*.mdb)};DBQ=" &
6
7server.MapPath("images.mdb") & ";uid=;PWD=;"
8
9connGraph.Open
10
11set rec=server.createobject("ADODB.recordset")
12
13strsql="select img from images where id=" & trim(request("id"))
14
15rec.open strsql,connGraph,1,1
16
17Response.ContentType = "image/*"
18
19Response.BinaryWrite rec("img").getChunk(7500000)
20
21rec.close
22
23set rec=nothing
24
25set connGraph=nothing
26
1.当提交页面后为什么不能把图片存入数据库中,打开img表看到img字段为 空??????
2.在取数据时showimg.asp中的getChunk方法也不能从数据库中取出???????
---------------------------------------------------------------
你还没有写进去,怎么能取出来?
自己写上传多累,还容易出错,用以下这个无组件上传类,好好参考一下吧
http://expert.csdn.net/Expert/topicview.asp?id=1348149
---------------------------------------------------------------
回答楼主的问题
1.如果你的img表中对应图片的字段的数据类型设置成image的话,无论是否有数据存入到表中打开表你看到的该字段内容都是null。
2.Response.BinaryWrite rec("img"),直接这样写就可以。