• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP上传图片功能的又一实现(OLE对象)
    上次说到的上传图片是采用稻香老农开发的无组件上传。其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的。显示图片则是根据数据库表中的路径字段对应显示的。当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过FSO进行删除……

    那有没有这样一种情况:将图片直接作为一个字段的值保存。对图片的操作就象是对数据字段的操作一样熟练。答案是肯定的,只是将该字段的类型设为OLE对象

    知识点:OLE 对象字段用来存储诸如 Microsoft Word 或 Microsoft EXCEL 文档、图片、声音的数据以及在别的程序中创建的其他类型的二进制数据。OLE 对象可以链接或嵌入到 Microsoft Access 表的字段中。

    一、设计数据库testimg.mdb

    为方便调试,设计表imgurl,其中两个字段:id(自动编号、关键字)、img(OLE 对象)

    二、连接数据库文件conn.asp



    %
    db_path="testimg.mdb"
    set conn=server.CreateObject("ADODB.connection")
    connstr="driver={Microsoft Access Driver (*.mdb)};dbq="server.MapPath(db_path)
    conn.open connstr
    %>



    三、提供上传图片的表单页面upload.html



    form action="upload.asp" method="post" enctype="multipart/form-data">
      input type="file" name="imgurl">
      input type="submit" name=ok value="ok">
    /form>



    四、接受数据并添加记录页upload.asp



    !--#include file="conn.asp"-->
    %
    formsize=request.totalbytes
    formdata=request.binaryread(formsize)
    bncrlf=chrB(13)chrB(10)
    divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
    datastart=instrb(formdata,bncrlfbncrlf)+4
    dataend=instrb(datastart+1,formdata,divider)-datastart
    mydata=midb(formdata,datastart,dataend)
    set rs=server.createobject("ADODB.recordset")
    rs.open "SELECT * FROM imgurl",conn,3,3
    rs.addnew
    rs("img").AppendChunk myData
    rs.update
    rs.close
    set rs=nothing
    set conn=nothing
    response.redirect "index.asp"
    %>



    五、提取数据库表中图片字段内容以做显示图片页showimg.asp



    !--#include file="conn.asp"-->
    %
    set rs=server.createobject("ADODB.recordset")
    sql="select * from imgurl where id="trim(request("id"))
    rs.open sql,conn,1,1
    Response.ContentType="image/*"
    Response.BinaryWrite rs("img").getChunk(8000000)
    rs.close
    set rs=nothing
    set conn=nothing
    %>



    六、显示图片的index.asp



    !--#include file="conn.asp"-->
    %
    strsql="select * from imgurl"
    set rs=server.createobject("ADODB.recordset")
    rs.open strsql,conn,1,1
    do until rs.eof
    whatid=rs("id")
    %>
    img src="showimg.asp?id=%=whatid%>">

    %
    rs.movenext
    loop%>

    上一篇:ASP应用之模板采用
    下一篇:利用SA FileUp组件进行多文件上传
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP上传图片功能的又一实现(OLE对象) ASP,上传,图片,功能,的,又一,