时间:2021-05-18
'用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
%>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
ASP代码实现无组件上传strFileName=Request.QueryString("file1")SetobjStream=Server.CreateOb
实现文件的上传。文件上传的功能的实现主要依赖于JavaBean组件jspSmartUpload,这个组件可以直接在网(转下页)上下载,它的压缩包的名字是jspS
前面有人贴了用ADOSTREAM做的无组件上传程序,今天我做一下关于它的简单介绍以前,如果要用ASP操作文件,比如移动、复制、删除或者创建一个记事本文件,基本上
通过ssh实现服务器文件上传下载写在前面的话之前记录过一篇使用apache的FTP开源组件实现服务器文件上传下载的方法,但是后来发现在删除的时候会有些权限问题,
上次说到的上传图片是采用稻香老农开发的无组件上传。其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的。显示图片则是根据数据库表中的路径字段