逐步讲解向Access数据库上传且显示图片

逐步讲解向Access数据库上传且显示图片,第1张

本文从多个角度阐述了如何在Access数据库上上传和显示上传的图片。
在制作动态网站的过程中,需要上传和展示图片。上传的图片应该存储在数据库中。一般小网站只支持Access数据库。如何上传图片,存储到数据库中并显示出来,是数据库+ASP应用技术之一。很多书只介绍SQL数据库的方法,很少提到Access。网上有很多关于在Access数据库中上传和显示图片的文章。大多不够全面,有些程序根本打不开,新手很难掌握。通过参考一些文章,我为初学者提供了一套完整的程序,全面介绍了如何通过上传的方式在Access数据库中添加和显示图片。希望我们初学者少走弯路。

  第一步、要制做一个Access数据库,我们给它起名字叫images.mdb,该数据库里有两个字段:id、img,id字段的类型设为自动编号,img字段的类型设为OLE对象。 第一步是制作一个Access数据库。我们将其命名为images.mdb数据库中有两个字段:id和img。id字段的类型设置为自动编号,img字段的类型设置为OLE对象。

第二步是设计一个上传的表单,根据需求可以简单也可以复杂。

第三步是设计后台图像处理程序,分为图像上传保存程序和图像读取程序。

第四步:图片展示。

分别给出和介绍以下步骤。

一、表单程序updata.html
它的作用是提供一个上传的接口。表单的enctype属性是multipart/form-data,它设置表单的MIME代码。只有使用它才能完整地传输文件的数据。
< html >
< body >
< center >
< form name = " main form " enctype = " multipart/form-data " action = " process . ASP " method = " post " >
< input type = file name = me file >
< input type = submit name = ok value = " upload " >



[

  <%
  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.Open "Provider=Microsoft.Jet.OLEDB.4.0;
  Data Source=" & server.MapPath("images.mdb")
  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.closes
  set rec=nothing
  set connGraph=nothing %>

  这段程序的功能是将上传图片的数据保存到数据库里。下面分句说明各语句的作用。
  response.buffer=true
  formsize=request.totalbytes
  formdata=request.binaryread(formsize)
  打开缓存功能,获取客户端总的发送数据量,获取上传过来的数据。 < %
response . buffer = true
formsize = request . total bytes
formdata = request . binary read(formsize)
BNC rlf = chrB(13)& chrB(10)
divider = leftB(formdata,clng(instrb(formdata,BNC rlf))-1)
data start = instrb(formdata,BNC rlf & BNC rlf)+4
dataend = instrbCreateObject(" adodb . connection ")
conn graph。Open "Provider=Microsoft。Jet . OLEDB.4.0
数据源=" & server。MapPath(" images . MDB ")
set rec = server . createobject(" adodb . recordset ")
rec。打开“从id为空的图像中选择*”,connGraph,1,3
rec . add new
rec(" img ")。appendchunk my data
rec . updates
rec . closures
setrec = nothing
setconngraph = nothing % >。下列子句解释了每个语句的功能。
response . buffer = true
formsize = request . total bytes
formdata = request . binary read(formsize)
打开缓存功能,获取客户端发送的数据总量和上传的数据。

BNC rlf = CHRB(13)& CHRB(10)
divider = leftb(formdata,clng (instrb (formdata,BNCRLF))-1)
这两个语句的意思是设置一个二进制回车,得到一个分隔符分隔符,以此来确定图片。

Data = instrb (formdata,bncrlf & bncrlf)+4
dataend = instrb(data start+1,formdata,divider)-data start
mydata = midb(formdata,data start,dataend)
以上三个语句是

设置连接图=服务器。CreateObject(" adodb . connection ")
conn graph。Open "Provider=Microsoft。Jet . OLEDB.4.0
data source = " & server . mappath(" images . MDB ")
创建连接对象并连接到Microsoft Access数据库。

  set rec=server.createobject("ADODB.recordset")
  rec.Open "SELECT * FROM images where id is null",connGraph,1,3
  rec.addnew
  rec("img").appendchunk mydataset rec = server . createobject(" adodb . recordset ")
rec。打开“从id为空的图像中选择*”,connGraph,1,3
rec . add new
rec(" img ")。appendchunk mydata

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 逐步讲解向Access数据库上传且显示图片

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情