CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

※ 求段简单、实用的“上传、下载”的ASP代码~~

楼主Girlsnini(M)2005-01-26 14:55:33 在 Web 开发 / ASP 提问

先谢谢啦~~   ^^ 问题点数:10、回复次数:4Top

1 楼tony_webhost(人一个)回复于 2005-01-26 14:58:48 得分 10

<SCRIPT   RUNAT=SERVER   LANGUAGE=VBSCRIPT>  
   
  '''''''''''''''''''''''''''''''''''''''''''''''''  
  '  
  '请保留此信息:   稻香老农制作   http://www.5xSoft.com/      
  '  
  '''''''''''''''''''''''''''''''''''''''''''''''''  
   
  dim   upfile_5xSoft_Stream  
   
  Class   upload_5xSoft  
       
  dim   Form,File,Version  
       
  Private   Sub   Class_Initialize    
  dim   iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile  
  dim   strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr  
  Version="化境编程界HTTP上传程序   Version   1.0"  
  if   Request.TotalBytes<1   then   Exit   Sub  
  set   Form=CreateObject("Scripting.Dictionary")  
  set   File=CreateObject("Scripting.Dictionary")  
  set   upfile_5xSoft_Stream=CreateObject("Adodb.Stream")  
  upfile_5xSoft_Stream.mode=3  
  upfile_5xSoft_Stream.type=1  
  upfile_5xSoft_Stream.open  
  upfile_5xSoft_Stream.write   Request.BinaryRead(Request.TotalBytes)  
   
  vbEnter=Chr(13)&Chr(10)  
  iDivLen=inString(1,vbEnter)+1  
  strDiv=subString(1,iDivLen)  
  iFormStart=iDivLen  
  iFormEnd=inString(iformStart,strDiv)-1  
  while   iFormStart   <   iFormEnd  
      iStart=inString(iFormStart,"name=""")  
      iEnd=inString(iStart+6,"""")  
      mFormName=subString(iStart+6,iEnd-iStart-6)  
      iFileNameStart=inString(iEnd+1,"filename=""")  
      if   iFileNameStart>0   and   iFileNameStart<iFormEnd   then  
        iFileNameEnd=inString(iFileNameStart+10,"""")  
        mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)  
        iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)  
        iEnd=inString(iStart+4,vbEnter&strDiv)  
        if   iEnd>iStart   then  
          mFileSize=iEnd-iStart-4  
        else  
          mFileSize=0  
        end   if  
        set   theFile=new   FileInfo  
        theFile.FileName=getFileName(mFileName)  
        theFile.FilePath=getFilePath(mFileName)  
        theFile.FileSize=mFileSize  
        theFile.FileStart=iStart+4  
        theFile.FormName=FormName  
        file.add   mFormName,theFile  
      else  
        iStart=inString(iEnd+1,vbEnter&vbEnter)  
        iEnd=inString(iStart+4,vbEnter&strDiv)  
   
        if   iEnd>iStart   then  
          mFormValue=subString(iStart+4,iEnd-iStart-4)  
        else  
          mFormValue=""    
        end   if  
        form.Add   mFormName,mFormValue  
      end   if  
   
      iFormStart=iformEnd+iDivLen  
      iFormEnd=inString(iformStart,strDiv)-1  
  wend  
  End   Sub  
   
  Private   Function   subString(theStart,theLen)  
    dim   i,c,stemp  
    upfile_5xSoft_Stream.Position=theStart-1  
    stemp=""  
    for   i=1   to   theLen  
        if   upfile_5xSoft_Stream.EOS   then   Exit   for  
        c=ascB(upfile_5xSoft_Stream.Read(1))  
        If   c   >   127   Then  
          if   upfile_5xSoft_Stream.EOS   then   Exit   for  
          stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))  
          i=i+1  
        else  
          stemp=stemp&Chr(c)  
        End   If  
    Next  
    subString=stemp  
  End   function  
   
  Private   Function   inString(theStart,varStr)  
    dim   i,j,bt,theLen,str  
    InString=0  
    Str=toByte(varStr)  
    theLen=LenB(Str)  
    for   i=theStart   to   upfile_5xSoft_Stream.Size-theLen  
        if   i>upfile_5xSoft_Stream.size   then   exit   Function  
        upfile_5xSoft_Stream.Position=i-1  
        if   AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1))   then  
          InString=i  
          for   j=2   to   theLen  
              if   upfile_5xSoft_Stream.EOS   then    
                  inString=0  
                  Exit   for  
              end   if  
              if   AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1))   then  
                  InString=0  
                  Exit   For  
              end   if  
          next  
          if   InString<>0   then   Exit   Function  
        end   if  
    next  
  End   Function  
   
  Private   Sub   Class_Terminate      
      form.RemoveAll  
      file.RemoveAll  
      set   form=nothing  
      set   file=nothing  
      upfile_5xSoft_Stream.close  
      set   upfile_5xSoft_Stream=nothing  
  End   Sub  
         
     
    Private   function   GetFilePath(FullPath)  
      If   FullPath   <>   ""   Then  
        GetFilePath   =   left(FullPath,InStrRev(FullPath,   "\"))  
      Else  
        GetFilePath   =   ""  
      End   If  
    End     function  
     
    Private   function   GetFileName(FullPath)  
      If   FullPath   <>   ""   Then  
        GetFileName   =   mid(FullPath,InStrRev(FullPath,   "\")+1)  
      Else  
        GetFileName   =   ""  
      End   If  
    End     function  
   
    Private   function   toByte(Str)  
        dim   i,iCode,c,iLow,iHigh  
        toByte=""  
        For   i=1   To   Len(Str)  
        c=mid(Str,i,1)  
        iCode   =Asc(c)  
        If   iCode<0   Then   iCode   =   iCode   +   65535  
        If   iCode>255   Then  
            iLow   =   Left(Hex(Asc(c)),2)  
            iHigh   =Right(Hex(Asc(c)),2)  
            toByte   =   toByte   &   chrB("&H"&iLow)   &   chrB("&H"&iHigh)  
        Else  
            toByte   =   toByte   &   chrB(AscB(c))  
        End   If  
        Next  
    End   function  
  End   Class  
   
   
  Class   FileInfo  
      dim   FormName,FileName,FilePath,FileSize,FileStart  
      Private   Sub   Class_Initialize    
          FileName   =   ""  
          FilePath   =   ""  
          FileSize   =   0  
          FileStart=   0  
          FormName   =   ""  
      End   Sub  
       
    Public   function   SaveAs(FullPath)  
          dim   dr,ErrorChar,i  
          SaveAs=1  
          if   trim(fullpath)=""   or   FileSize=0   or   FileStart=0   or   FileName=""   then   exit   function  
          if   FileStart=0   or   right(fullpath,1)="/"   then   exit   function  
          set   dr=CreateObject("Adodb.Stream")  
          dr.Mode=3  
          dr.Type=1  
          dr.Open  
          upfile_5xSoft_Stream.position=FileStart-1  
          upfile_5xSoft_Stream.copyto   dr,FileSize  
          dr.SaveToFile   FullPath,2  
          dr.Close  
          set   dr=nothing    
          SaveAs=0  
      end   function  
  End   Class  
  </SCRIPT>Top

2 楼Girlsnini(M)回复于 2005-01-26 15:08:33 得分 0

tony_webhost(人一个)   大哥~~  
   
  一点注解都没有呀~~  
   
  看不明白,  
  这是上传还是下载?Top

3 楼Girlsnini(M)回复于 2005-01-26 17:13:17 得分 0

GO   ONTop

4 楼lawyu(雨淋漓)回复于 2005-01-26 17:46:35 得分 0

无组上传Top

相关问题

  • 实用代码:【源码下载】全局键盘钩子的VB实现
  • 在哪儿可以下载到实用的ASP编辑工具??
  • 谁下载过 江湖的ASP源代码啊,300分求购
  • 谁有ASP上载组件的源代码下载
  • 找个asp源代码下载比较多的站点!!!
  • ASP论坛代码下载介绍 ̄ ̄ ̄ ̄ ̄顺便散分!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 请问哪里有ASP论坛的代码下载啊??
  • 怎样写提供下载的ASP代码?
  • 请问那里可以下载Access管理的ASP源代码
  • 求下载代码

关键词

  • 下载
  • 上传

得分解答快速导航

  • 帖主:Girlsnini
  • tony_webhost

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo