ASP中无法保存图片或取出图片??

(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"),直接这样写就可以。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus