把图片存成二进制形式

我想把图片存成二进制形式,恳请大家帮忙
---------------------------------------------------------------

(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>

注意代码中黑色斜体的部分,一定要在Form中有这个属性,否则,将无

法得到上传上来的数据。

接下来,我们要在process.asp中对从浏览器中获取的数据进行必要的处

理,因为我们在process.asp中获取到的数据不仅仅包含了我们想要的上传上来

的图片的数据,也包含了其他的无用的信息,我们需要剔除冗余数据,并将处

理过的图片数据保存到数据库中,这里我们以Access97为例。具体代

码如下(process.asp):

 1   
 2  
 3response.buffer=true   
 4  
 5formsize=request.totalbytes   
 6  
 7formdata=request.binaryread(formsize)   
 8  
 9bncrlf=chrB(13) & chrB(10)   
10  
11divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)   
12  
13datastart=instrb(formdata,bncrlf & bncrlf)+4   
14  
15dataend=instrb(datastart+1,formdata,divider)-datastart   
16  
17mydata=midb(formdata,datastart,dataend)   
18  
19  
20  
21set connGraph=server.CreateObject("ADODB.connection")   
22  
23connGraph.ConnectionString="driver={Microsoft Access Driver (*.mdb)};DBQ=" &   
24  
25server.MapPath("images.mdb") & ";uid=;PWD=;"   
26  
27connGraph.Open   
28  
29  
30  
31set rec=server.createobject("ADODB.recordset")   
32  
33rec.Open "SELECT * FROM [images] where id is null",connGraph,1,3   
34  
35rec.addnew   
36  
37rec("img").appendchunk mydata   
38  
39rec.update   
40  
41rec.close   
42  
43set rec=nothing   
44  
45set connGraph=nothing   
46  

好了,这下我们就把上传来的图片保存到了名为images.mdb的数据库中

了,剩下的工作就是要将数据库中的图片数据显示到网页上面了。一般在HT

ML中,显示图片都是使用

1<img/>

标签,也就是

1<img src="图片路径"/>

,但

是我们的图片是保存到了数据库中,“图片路径”是什么呢?呵呵,其实这个

SRC属性除了指定路径外,也可以这样使用哦:

1<img src="showimg.asp?id=xxx"/>

所以,我们所要做的就是在showimg.asp中从数据库中读出来符合条件的

数据,并返回到SRC属性中就可以了,具体代码如下(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  
Published At
Categories with Web编程
Tagged with
comments powered by Disqus