沸腾展望新闻系统 当前在线5
  
  沸腾文摘  宁波文摘  旅游美食  试题资源  少儿资源  沸腾建站 
       栏目导航  网站首页>>沸腾文摘>>建站文摘
  共有 8984 位读者读过此文   字体颜色:   【字体:放大 正常 缩小】    
【双击鼠标左键自动滚屏】【图片上滚动鼠标滚轮变焦图片】    
 

[ASP]上传图片至数据库内功能的实现(OLE对象)

  发表日期:2004年10月22日   出处:http://www.cnbruce.com/        【编辑录入:大奔

    一般的无组件上传类,其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的。显示图片则是根据数据库表中的路径字段对应显示的。当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过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,bncrlf&bncrlf)+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%>


上一篇:HTML标记参考手册
下一篇:ASP生成图片

 相关专题:

·专题1信息无

·专题2信息无
 
  热门文章:
 · 瑞星RavmonD.exe[39185]
 · 2008年6月英语新四级真[35854]
 · 2007年12月英语新四级[34062]
 · 拯救MP3机,低格工具Fi[33943]
 
 相关文章:
自己修改沸腾展望1.1、dvbbs7图片验证码的图片[10075]
ASP生成图片[8817]
[ASP]上传图片至数据库内功能的实现(OLE对象)[8984]

相关评论:(评论内容只代表网友观点,与本站立场无关!)
发表人:游客

IP:59.56.54.186

发表人邮件:guest@feitium.net 发表时间:2006-11-30 20:44:04
    

谢谢你们,又学到了新的知识。

发表人:游客

IP:222.209.80.50

发表人邮件:guest@feitium.net 发表时间:2005-11-23 20:36:36
    

非常感谢你们!图片显示成功!

发表人:宝宝

IP:219.133.186.109

发表人邮件:dream_girl@tom.com 发表时间:2005-5-17 14:14:17
    

用不了。。。会有错误提示?

发表、查看更多关于该信息的评论 将本信息发给好友 打印本页

copyright © 2002-2009 forecast news [沸腾展望新闻多媒体系统]  V1.5Access版 b2 all rights reserved 浙ICP备14004706号

| 网站地图 | 联系我们 | 帮助中心 | 图片文摘 | 沸腾淘宝店铺 |

xml聚合新闻rss2.0 firefox全面支持 手机WAP浏览支持 creative commons license

新闻系统核心: 尘缘雅境  制作:杨正炎(雪域一线天) [后台管理]
页面执行时间:109.375毫秒