45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:实现ASP上传图片至数据库内功能的方法

实现ASP上传图片至数据库内功能的方法

2016-09-05 18:04:52 来源:www.45fan.com 【

实现ASP上传图片至数据库内功能的方法

一般的无组件上传类,其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的。显示图片则是根据数据库表中的路径字段对应显示的。当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过FSO进行删除……

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

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

一、设计数据库testimg.mdb

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

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

<%

db_path="testimg.mdb"

setconn=server.CreateObject("ADODB.connection")

connstr="driver={MicrosoftAccessDriver(*.mdb)};dbq="&server.MapPath(db_path)

conn.openconnstr

%>

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

<formaction="upload.asp"method="post"enctype="multipart/form-data">

<inputtype="file"name="imgurl">

<inputtype="submit"name=okvalue="ok">

</form>

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

<!--#includefile="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)

setrs=server.createobject("ADODB.recordset")

rs.open"SELECT*FROMimgurl",conn,3,3

rs.addnew

rs("img").AppendChunkmyData

rs.update

rs.close

setrs=nothing

setconn=nothing

response.redirect"index.asp"

%>

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

<!--#includefile="conn.asp"-->

<%

setrs=server.createobject("ADODB.recordset")

sql="select*fromimgurlwhereid="&trim(request("id"))

rs.opensql,conn,1,1

Response.ContentType="image/*"

Response.BinaryWriters("img").getChunk(8000000)

rs.close

setrs=nothing

setconn=nothing

%>

六、显示图片的index.asp

<!--#includefile="conn.asp"-->

<%

strsql="select*fromimgurl"

setrs=server.createobject("ADODB.recordset")

rs.openstrsql,conn,1,1

dountilrs.eof

whatid=rs("id")

%>

<imgsrc="showimg.asp?id=<%=whatid%>">

<%

rs.movenext

loop%>

 

本文地址:http://www.45fan.com/a/question/72888.html
Tags: 图片 上传 asp
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部