网络编程
位置:首页>> 网络编程>> Asp编程>> 如何把图片上传到数据库中并显示出来?

如何把图片上传到数据库中并显示出来?

 来源:asp之家 发布时间:2009-11-06 13:50:00 

标签:数据库,图片,上传

好了,看看我们的代码吧:

upload.htm

' 上传页面
<html> 
<body> 
<p align="center">精彩春风之图片上传</p>
<center> 
   <form name="mainForm" enctype="multipart/form-data"
' 这个Form属性是得到上传的数据的关键
action="process.asp" method=post> 
    <input type=file name=mefile><br> 
   <input type=submit name=ok value="上传"> 
   </form> 
</center> 
</body> 
</html> 

process.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 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 
%> 

showimg.asp

' 显示图片
<% 
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") 
strsql="select img from images where id=" & trim(request("id")) 
rec.open strsql,connGraph,1,1 
Response.ContentType = "image/*" 
' 在输出到浏览器之前一定要指定Response.ContentType = "image/*",以便正常显示图片
Response.BinaryWrite rec("img").getChunk(7500000) 
rec.close 
set rec=nothing 
set connGraph=nothing 
%> 

数据库结构如下:

Access:

序号

字段名称

类  型

描  述

1

id

自动编号

主键值

2

img

OLE对象

用来保存图片数据

MS SQL Server:

序号

字段名称

类  型

描  述

1

id

int(Identity)

主键值

2

img

image

用来保存图片数据

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com