24 messaggi dal 14 settembre 2003
www.tekstudio.it
Ho già uno script in ASP ke mi fa un upload, ma il max di trasferimento è su x giù 500 KB dopo di ciò va sempre in Time-out anche se ho settato il time-out a 10 min.

Visto ke ho bisogno di trasferire file da circa 3MB come posso fare?C'è un altro script ke mi permette di fare l'upload?
2.584 messaggi dal 14 maggio 2001
Puoi inserire il codice che usi per verificare che non ci siano errori?
24 messaggi dal 14 settembre 2003
www.tekstudio.it
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
%>
2.584 messaggi dal 14 maggio 2001
Il problema del tuo script risiede in queste righe:

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)

Il codice Vbscript rallenta molto quando si concatena un valore ad una variabile esistente.... il motore crea una nuova variabile abbastanza grande, ci mette il primo valore, ci concatena il secondo valore, distrugge la prima variabile, copia la seconda nella prima variabile... immagina il tutto in un ciclo...

Hai provato a guardare questo articolo:
http://www.aspitalia.com/articoli/upload.aspx
47 messaggi dal 23 maggio 2001
Se usi Dreamweaver MX io ho fatto una extension che fa tutto in automatico.

La trovi qui:
http://digilander.libero.it/gianluigi.online/Extension.html
Modificato da revellogianluigi il 15 settembre 2003 23.20 -
11.886 messaggi dal 09 febbraio 2002
Contributi
ancora co st'estensionnnnn!!!!
se va in timeout, va in timeout! aivoglia a fà l'estenscion!

scusa eh, è mezzanotte, sono un po' ciucco

Enjoy learning and just keep making
24 messaggi dal 14 settembre 2003
www.tekstudio.it
niente continua ad andare come prima, xò questa volta mi da errore interno del server.
Nn so come fare x trasferire file di grandi dimensioni.
Cmq è strano xké visionando sull'attività dei byte inviati li invia tutti poi dopo un po' fa errore.
Ke può essere?
è possibile fare i traferimenti con il protocollo ftp con ASP???
Modificato da AZ il 16 settembre 2003 00.54 -
24 messaggi dal 14 settembre 2003
www.tekstudio.it
c'è un altra soluzione (anche cambiando linguaggio) x trasferire file di grandi dimensioni via http?thnx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.