CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [求助] 不知道问题出在哪里,麻烦哪位高手看看!
乱舞春秋
管理员
Rank: 9Rank: 9Rank: 9


UID 307017
精华 8
积分 15023
帖子 3020
威望 6404
ZD币 1892 元
阅读权限 255
注册 2008-3-13
状态 离线
  楼主
发表于 2008-4-23 15:49  资料  个人空间  短消息  加为好友 
开发者在线

不知道问题出在哪里,麻烦哪位高手看看!

文件连接...有问题...   但是在代码里找不出问题,请帮忙看看,谢谢啦!   
   
  <SCRIPT   RUNAT=SERVER   LANGUAGE=VBSCRIPT>   
   
  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="WLONG3D专用上传程序   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>     
   
   
  <!--#include   file=conn.asp-->   
  <SCRIPT   LANGUAGE="JavaScript">   
  <!--   Hide   
  function   killErrors()   {   
  return   true;   
  }   
  window.onerror   =   killErrors;   
  //   -->




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-4 15:32

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.066994 second(s), 3/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版