replica watches | rolex replica | replica rolex | replica watches | christian louboutin shoes | replica watches | fake watches | replica watches

ASP实现图片上传(2)

来源: AspCool   日期:2006-04-24  我要评论  胶粘剂 结构胶 硅胶 密封胶 中国胶粘剂网
现在开始正式编写我们的纯ASP代码上传部分了,首先,我们有一个提供给用户的上传界面 ,可以让用户选择要上传的图片。代码如下 (upload.htm): html body center form name="mainForm" enctype="multipart/for

现在开始正式编写我们的纯ASP代码上传部分了,首先,我们有一个提供给用户的上传界面
  ,可以让用户选择要上传的图片。代码如下
  (upload.htm):
  <html>
  <body>
  <center>
  <form name="mainForm" enctype="multipart/form-data" action="process.asp" method=p
  ost>
    <inputtype=filename=mefile><br>
    <inputtype=submitname=okvalue="OK">
  </form>
  </center>
  </body>
  </html>
  注意enctype="multipart/form-data",一定要在Form中有这个属性,否则,将无法得到上传
  上来的数据。接下来,我们要在process.asp中对从浏览器中获取的数据进行必要的处理,因
  为我们在process.asp中获取到的数据不仅仅包含了我们想要的上传上来的图片的数据,也包
  含了其他的无用的信息,我们需要剔除冗余数据,并将处理过的图片数据保存到数据库中,这
  里我们以access2000为例。具体代码如下(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)
  setconnGraph=server.CreateObject("ADODB.connection")
  connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&server.Ma
  pPath("images.mdb")&";uid=;PWD=;"
  connGraph.Open
  setrec=server.createobject("ADODB.recordset")
  rec.Open"SELECT*FROM[images]whereidisnull",connGraph,1,3
  rec.addnew
  rec("img").appendchunkmydata
  rec.update
  rec.close
  setrec=nothing
  setconnGraph=nothing
  %>
  好了,这下我们就把上传来的图片保存到了名为images.mdb的数据库中了,剩下的工作就是要
  将数据库中的图片数据显示到网页上面了。一般在HTML中,显示图片都是使用<IMG>标签
  ,也就是<IMGSRC="图片路径">,但是我们的图片是保存到了数据库中,“图片路径”是什么
  呢?呵呵,其实这个SRC属性除了指定路径外,也可以这样使用哦:
  <IMGSRC="showimg.asp?id=xxx">
  所以,我们所要做的就是在showimg.asp中从数据库中读出来符合条件的
  数据,并返回到SRC属性中就可以了,具体代码如下(showimg.asp):
  <%
  setconnGraph=server.CreateObject("ADODB.connection")
  connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&
  server.MapPath("images.mdb")&";uid=;PWD=;"
  connGraph.Open
  setrec=server.createobject("ADODB.recordset")
  strsql="selectimgfromimageswhereid="&trim(request("id"))
  rec.openstrsql,connGraph,1,1
  Response.ContentType="image/*"
  Response.BinaryWriterec("img").getChunk(7500000)
  rec.close
  setrec=nothing
  setconnGraph=nothing
  %>
  注意在输出到浏览器之前一定要指定Response.ContentType="image/*",
  以便正常显示图片。
  最后要注意的地方是,我的process.asp中作的处理没有考虑到第一页(upload.htm)中还有其
  他数据,比如<INPUT type=tesxt name=userid>等等,如果有这些项目,你的process.asp就
  要注意处理掉不必要的数据。 
  

顶一下
(1)
100%
踩一下
(0)
0%
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码: