知识大全 文件上传 源代码

Posted 文件

篇首语:勿以恶小而为之,勿以善小而不为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 文件上传 源代码相关的知识,希望对你有一定的参考价值。

  <! #include FILE="upload inc" > <% dim upload file formName formPath iCount filename fileExt set upload=new upload_ xSoft 建立上传对象 formPath="uploadimages/"   在目录后加(/) if right(formPath )<>"/" then formPath=formPath&"/" iCount= for each formName in upload file 列出所有上传了的文件  set file=upload file(formName)  生成一个文件对象  if file filesize< then   response write "<font size= ><br>请先选择你要上传的图片 [ <a href=# onclick=history go( )>重新上传</a> ]</font>"  response end  end if    if file filesize> then   response write "<font size= ><br>图片大小超过了限制 [ <a href=# onclick=history go( )>重新上传</a> ]</font>"  response end  end if

  fileExt=lcase(right(file filename ))

  if fileEXT<>" jpg" and fileEXT<>" gif" then   response write "<font size= ><br>文件格式只能为jpg和gif格式 [ <a href=# onclick=history go( )>重新上传</a> ]</font>"  response end  end if  randomize  ranNum=int( *rnd)+  filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&fileExt  filename =year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&fileExt    if file FileSize> then         如果 FileSize > 说明有文件数据  file SaveAs Server mappath(filename)   保存文件 response write "<script>parent form img value= "&FileName &" </script>"

  iCount=iCount+  end if  set file=nothing next set upload=nothing  删除此对象

  Response Write "<img src= "&" /UpLoad/UpLoadImages/"&FileName &" onload = DrawImage(this) >"  response end %>

  下面是upload inc的代码

  <SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> dim upfile_ xSoft_Stream Class upload_ xSoft 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 if Request TotalBytes< then Exit Sub set Form=CreateObject("Scripting Dictionary") set File=CreateObject("Scripting Dictionary") set upfile_ xSoft_Stream=CreateObject("Adodb Stream") upfile_ xSoft_Stream mode= upfile_ xSoft_Stream type= upfile_ xSoft_Stream open upfile_ xSoft_Stream write Request BinaryRead(Request TotalBytes) vbEnter=Chr( )&Chr( ) iDivLen=inString( vbEnter)+ strDiv=subString( iDivLen) iFormStart=iDivLen iFormEnd=inString(iformStart strDiv) while iFormStart < iFormEnd   iStart=inString(iFormStart "name=""")   iEnd=inString(iStart+ """")   mFormName=subString(iStart+ iEnd iStart )   iFileNameStart=inString(iEnd+ "filename=""")   if iFileNameStart> and iFileNameStart<iFormEnd then    iFileNameEnd=inString(iFileNameStart+ """")    mFileName=subString(iFileNameStart+ iFileNameEnd iFileNameStart )    iStart=inString(iFileNameEnd+ vbEnter&vbEnter)    iEnd=inString(iStart+ vbEnter&strDiv)    if iEnd>iStart then     mFileSize=iEnd iStart    else     mFileSize=    end if    set theFile=new FileInfo    theFile FileName=getFileName(mFileName)    theFile FilePath=getFilePath(mFileName)    theFile FileSize=mFileSize    theFile FileStart=iStart+    theFile FormName=FormName    file add mFormName theFile   else    iStart=inString(iEnd+ vbEnter&vbEnter)    iEnd=inString(iStart+ vbEnter&strDiv)

  if iEnd>iStart then     mFormValue=subString(iStart+ iEnd iStart )    else     mFormValue=""    end if    form Add mFormName mFormValue   end if

  iFormStart=iformEnd+iDivLen   iFormEnd=inString(iformStart strDiv) wend End Sub

  Private Function subString(theStart theLen)  dim i c stemp  upfile_ xSoft_Stream Position=theStart  stemp=""  for i= to theLen    if upfile_ xSoft_Stream EOS then Exit for    c=ascB(upfile_ xSoft_Stream Read( ))    If c > Then     if upfile_ xSoft_Stream EOS then Exit for     stemp=stemp&Chr(AscW(ChrB(AscB(upfile_ xSoft_Stream Read( )))&ChrB(c)))     i=i+    else     stemp=stemp&Chr(c)    End If  Next  subString=stemp End function

  Private Function inString(theStart varStr)  dim i j bt theLen str  InString=  Str=toByte(varStr)  theLen=LenB(Str)  for i=theStart to upfile_ xSoft_Stream Size theLen    if i>upfile_ xSoft_Stream size then exit Function    upfile_ xSoft_Stream Position=i    if AscB(upfile_ xSoft_Stream Read( ))=AscB(midB(Str )) then     InString=i     for j= to theLen       if upfile_ xSoft_Stream EOS then         inString=         Exit for       end if       if AscB(upfile_ xSoft_Stream Read( ))<>AscB(MidB(Str j )) then         InString=         Exit For       end if     next     if InString<> then Exit Function    end if  next End Function

  Private Sub Class_Terminate    form RemoveAll   file RemoveAll   set form=nothing   set file=nothing   upfile_ xSoft_Stream close   set upfile_ xSoft_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 "")+ )   Else    GetFileName = ""   End If  End  function

  Private function toByte(Str)    dim i iCode c iLow iHigh    toByte=""    For i= To Len(Str)    c=mid(Str i )    iCode =Asc(c)    If iCode< Then iCode = iCode +    If iCode> Then      iLow = Left(Hex(Asc(c)) )      iHigh =Right(Hex(Asc(c)) )      toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh)    Else      toByte = toByte & chrB(AscB(c))    End If    Next  End function End Class

cha138/Article/program/net/201311/14198

相关参考