手机
当前位置:查字典教程网 >编程开发 >ASP教程 >无组件实现文件上传/下载
无组件实现文件上传/下载
摘要:'用ASP实现无组件上传/下载文件''功能简介'将上传的文件数据保存到数据库中,可以处理表单中的多个上传文件的情况'适用于各种数据库,使用A...

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

'

'功能简介

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

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

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

'表:tb_img(idint(自增列),pathtext(255)保存上传文件的目录

',fnametext(250)保存上传的文件名,typetest(250)保存上传文件的类型

',imgole对象保存上传的文件内容

'

'

'==================================================================

'==================================================================

'

'上传文件的HTML页:zj_up.htm

'

'================================================================== 复制代码 代码如下:

<html>

<head>

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

</head>

<body>

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

<p>

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

<inputtype="submit"name="Submit"value="上传">

</p>

</form>

</body>

</html>

'==================================================================

'

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

'

'================================================================== 复制代码 代码如下:

<%

Response.Expires=0

Functionf_Bin2Str(ByValsBin)

DimiI,iLen,iChr,iRe

iRe=""

IfNotIsNull(sBin)Then

iLen=LenB(sBin)

ForiI=1ToiLen

iChr=MidB(sBin,iI,1)

IfAscB(iChr)>127Then

iRe=iRe&Chr(AscW(MidB(sBin,iI+1,1)&iChr))

iI=iI+1

Else

iRe=iRe&Chr(AscB(iChr))

EndIf

Next

EndIf

f_Bin2Str=iRe

EndFunction

iConcStr="Provider=Microsoft.Jet.OLEDB.4.0;PersistSecurityInfo=False"&_

";DataSource="&server.mappath("zj.mdb")

iSql="tb_img"

setiRe=Server.CreateObject("ADODB.Recordset")

iRe.OpeniSql,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

WhileiPos1>0

iStr=f_Bin2Str(LeftB(sBin,iPos1))

iPos1=iPos1+5

iPos2=InStrB(iPos1,sBin,iSpc)

iPos3=InStr(iStr,";filename=""")+12

IfiPos3>12Then

iStr=Mid(iStr,iPos3)

iPos3=InStr(iStr,Chr(13)&Chr(10)&"Content-Type:")-2

iFn=Left(iStr,iPos3)

IfiFn<>""Then

iRe.AddNew

ire("path")=left(iFn,instrrev(iFn,""))

iRe("fname")=mid(iFn,instrrev(iFn,"")+1)

iRe("type")=Mid(iStr,iPos3+18)

iRe("img").AppendChunkMidB(sBin,iPos1,iPos2-iPos1)

iRe.Update

EndIf

EndIf

sBin=MidB(sBin,iPos2+iLen+34)

iPos1=InStrB(sBin,iCrlf2)-1

Wend

iRe.close

setiRe=Nothing

%>

'==================================================================

'

'下载数据的ASP页:zj_down.asp

'

'================================================================== 复制代码 代码如下:

<%

Response.Buffer=true

Response.Clear

iConcStr="Provider=Microsoft.Jet.OLEDB.4.0;PersistSecurityInfo=False"&_

";DataSource="&server.mappath("zj.mdb")

setiRe=server.createobject("adodb.recordset")

iSql="tb_img"

iRe.openiSql,iconcstr,1,1

Response.ContentType=ire("type")

Response.BinaryWriteiRe("img")

iRe.close

setiRe=Nothing

%>

【无组件实现文件上传/下载】相关文章:

ASP编程入门进阶(十八):FSO组件之文件操作(上)

关于用ADO STREAM做的无组件上传程序简单介绍

ASP实现长文章分页

asp无组件上传带真实进度条

ASP实现URL编码

ASP实现网址的桌面快捷方式下载

asp 文件上传aspjpeg组件上传文件

ASP无组件分页实现思路及代码

asp实现表格3列5行

[ASP]使用类,实现模块化

精品推荐
分类导航