源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-11-03 23:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:无组件实现文件上传/下载
[b]' 用ASP实现无组件上传/下载文件[/b]  '  ' 功能简介   ' 将上传的文件数据保存到数据库中,可以处理表单中的多个上传文件的情况  ' 适用于各种数据库,使用ADO的方法连接数据库  ' 本示例中使用的是ACCESS数据库:zj.mdb  ' 表:tb_img(id int(自增列),path text(255) 保存上传文件的目录  ' ,fname text(250) 保存上传的文件名,type test(250) 保存上传文件的类型  ' ,img ole对象 保存上传的文件内容  '  '   '==================================================================  '==================================================================  '  ' 上传文件的HTML页: zj_up.htm  '  '================================================================== 
[u]复制代码[/u] 代码如下:
<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  '  '================================================================== 
[u]复制代码[/u] 代码如下:
<%  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  '  '================================================================== 
[u]复制代码[/u] 代码如下:
<%  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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部