欢迎光临
我们一直在努力

无组件实现文件上传/下载-ASP教程,数据库相关

建站超值云服务器,限时71元/月

用asp实现无组件上传/下载文件

功能简介

将上传的文件数据保存到数据库中,可以处理表单中的多个上传文件的情况

适用于各种数据库,使用ado的方法连接数据库

本示例中使用的是access数据库:zj.mdb

表:tb_img(id int(自增列),path text(255) 保存上传文件的目录

,fname text(250) 保存上传的文件名,type test(250) 保存上传文件的类型

,img ole对象 保存上传的文件内容

==================================================================

==================================================================

上传文件的html页: zj_up.htm

==================================================================

<html>

<head>

<title>文件上传保存到数据库中</title>

</head>

<body>

<form name="form1" enctype="multipart/form-data" method="post" action="zj_up.asp">

<p>

<input type="file" name="file">

<input type="submit" name="submit" value="上传">

</p>

</form>

</body>

</html>

==================================================================

上传文件保存到数据库的asp页: zj_up.asp

==================================================================

<%

response.expires=0

function f_bin2str(byval sbin)

dim ii, ilen, ichr, ire

ire = ""

if not isnull(sbin) then

ilen = lenb(sbin)

for ii = 1 to ilen

ichr = midb(sbin, ii, 1)

if ascb(ichr) > 127 then

ire = ire & chr(ascw(midb(sbin, ii + 1, 1) & ichr))

ii = ii + 1

else

ire = ire & chr(ascb(ichr))

end if

next

end if

f_bin2str = ire

end function

iconcstr = "provider=microsoft.jet.oledb.4.0;persist security info=false" & _

";data source=" & server.mappath("zj.mdb")

isql="tb_img"

set ire=server.createobject("adodb.recordset")

ire.open isql,iconcstr,1,3

ilen=request.totalbytes

sbin=request.binaryread(ilen)

icrlf1 = chrb(13) & chrb(10)

icrlf2 = icrlf1 & icrlf1

ilen = instrb(1, sbin, icrlf1) – 1

ispc = leftb(sbin, ilen)

sbin = midb(sbin, ilen + 34)

ipos1 = instrb(sbin, icrlf2) – 1

while ipos1 > 0

istr = f_bin2str(leftb(sbin, ipos1))

ipos1 = ipos1 + 5

ipos2 = instrb(ipos1, sbin, ispc)

ipos3 = instr(istr, "; filename=""") + 12

if ipos3 > 12 then

istr = mid(istr, ipos3)

ipos3 = instr(istr, chr(13) & chr(10) & "content-type: ") – 2

ifn = left(istr, ipos3)

if ifn <> "" then

ire.addnew

ire("path")=left(ifn,instrrev(ifn,"\"))

ire("fname") = mid(ifn,instrrev(ifn,"\")+1)

ire("type") = mid(istr, ipos3 + 18)

ire("img").appendchunk midb(sbin, ipos1, ipos2 – ipos1)

ire.update

end if

end if

sbin = midb(sbin, ipos2 + ilen + 34)

ipos1 = instrb(sbin, icrlf2) – 1

wend

ire.close

set ire=nothing

%>

==================================================================

下载数据的asp页: zj_down.asp

==================================================================

<%

response.buffer=true

response.clear

iconcstr = "provider=microsoft.jet.oledb.4.0;persist security info=false" & _

";data source=" & server.mappath("zj.mdb")

set ire=server.createobject("adodb.recordset")

isql="tb_img"

ire.open isql,iconcstr,1,1

response.contenttype=ire("type")

response.binarywrite ire("img")

ire.close

set ire=nothing

%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 无组件实现文件上传/下载-ASP教程,数据库相关
分享到: 更多 (0)

相关推荐

  • 暂无文章