L'algoritmo funziona con file piccoli ma con file grandi no, il problema e ke il computer trasferisce tutto il file poi rimane fermo nei trasferimenti fin quando nn scade il time-out.
Come posso fare?
<%
'Questa variabile setta il percorso di dove effettuare l'upolad
'la cartella non puo non esistere lo script non la crea ! ! !
use1 = false
use2 = false
ByteRicevuti = Request.TotalBytes
if ByteRicevuti > 0 then
DatiRicevuti = Request.BinaryRead(ByteRicevuti)
For i = 1 To lenB(DatiRicevuti)
FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
Next
FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
ArrPezzi = split(FileBinario,FirmaFile)
for item = 1 to ubound(ArrPezzi)-1
Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
Intestazione = left(ArrPezzi(item),Inizio-1)
Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)
if instr(Intestazione,"new_dir") > 0 AND (use2 = false) then
directory = ContenutoFile
directory = "/" & directory
use2=true
end if
if instr(Intestazione,"percorso") > 0 AND (use1 = false) then
percorso = ContenutoFile
percorso = "/" & percorso
use1=true
percorso = percorso & directory & "/"
end if
' Qui recupero il file da uploadare (se presente) e lo scrivo
' sul server
if instr(Intestazione,"file1") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload1 = True
DimensioneFile1 = len(ContenutoFile)
EstensioneFile1 = right(ContenutoFile,3)
NomeFile1 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile1), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
if instr(Intestazione,"file2") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload2 = True
DimensioneFile2 = len(ContenutoFile)
EstensioneFile2 = right(ContenutoFile,3)
NomeFile2 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile2), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
if instr(Intestazione,"file3") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload3 = True
DimensioneFile3 = len(ContenutoFile)
EstensioneFile3 = right(ContenutoFile,3)
NomeFile3 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & Nomefile3), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
if instr(Intestazione,"file4") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload4 = True
DimensioneFile4 = len(ContenutoFile)
EstensioneFile4 = right(ContenutoFile,3)
NomeFile4 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile4), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
if instr(Intestazione,"file5") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload5 = True
DimensioneFile5 = len(ContenutoFile)
EstensioneFile5 = right(ContenutoFile,3)
NomeFile5 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile5), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
next
' E la stessa cosa per i campi dove è stato eseguito l'upload dei file
If Upload1 = true then
Response.Write "<br>La dimensione del file che hai uploadato è di " & DimensioneFile1*0.001 & "kb"
Response.Write "<br>Grazie di aver inviato il tuo file"
End If
If Upload2 = true then
Response.Write "<br>La dimensione del file che hai uploadato è di " & DimensioneFile2*0.001 & "kb"
Response.Write "<br>Grazie di aver inviato il tuo file"
End If
If Upload3 = true then
Response.Write "<br>La dimensione del file che hai uploadato è di " & DimensioneFile3*0.001 & "kb"
Response.Write "<br>Grazie di aver inviato il tuo file"
End If
If Upload4 = true then
Response.Write "<br>La dimensione del file che hai uploadato è di " & DimensioneFile4*0.001 & "kb"
Response.Write "<br>Grazie di aver inviato il tuo file"
End If
If Upload5 = true then
Response.Write "<br>La dimensione del file che hai uploadato è di " & DimensioneFile5*0.001 & "kb"
Response.Write "<br>Grazie di aver inviato il tuo file"
End If
End if
%>