Page 1 of 1
Ftp di Internet explorer
Posted: Mon Jun 25, 2007 8:18 am
by Marco Turco
Salve,
fino ad ora ho utilizzato la classe ftp di Fivewin leggermente modificata in modo da avere una barra di progressione dello stato di avanzamento trasmissione e non ho mai avuto problemi.
Ad un cliente mi si presenta però un problema di crash nella trasmissione di files piuttosto grandi (circa 15MB). Credo il problema dipenda dalla qualità dell'Adsl visto che lo stesso file da me viene trasmesso.
Vorrei sapere se è possibile utilizzare un ftp alternativo per fare una prova e pensavo all'ftp di explorer.
Come faccio a chiamare da fivewin il classico ftp di explorer ("ftp://.....") e passargli i file di origine, destinazione, userid e password ?
Grazie in anticipo
Saluti
Marco
Posted: Mon Jun 25, 2007 8:30 am
by pymsoft
Marco,
penso che puoi fare tutto, meno indicare la destinazione (io non so come farlo)
ftp://utente:password@iltuoip/iltuofile
Saluti
Posted: Mon Jun 25, 2007 9:32 am
by chiaiese
Ciao,
puoi creare un file .bat e lanciarlo da riga comando con winexec() o waitrun()
ad es:
Code: Select all
ftp -s:myftpjob -i -d myftpserver.it
pause
dove myftpjob contiene:
Code: Select all
myusername
mypassword
send myfile.zip
quit
saluti a tutti
Roberto Chiaiese
Re: Ftp di Internet explorer
Posted: Mon Jun 25, 2007 9:32 am
by Enrico Maria Giordano
Per prima cosa prova con Filezilla e vedi se lo stesso file viene trasmesso regolarmente dal tuo cliente.
EMG
Posted: Mon Jun 25, 2007 9:33 am
by Enrico Maria Giordano
Sì, anche con il comando FTP puoi testare se dal tuo cliente va tutto bene. Se riesci ad inviare regolarmente con FTP o con Filezilla (magari prova con entrambi per sicurezza) allora il problema dev'essere nel programma.
EMG
Posted: Wed Jun 27, 2007 8:46 am
by Marco Turco
Grazie, entrambe i sistemi non permettono però di avere una barra di progressione che mostra lo stato di avanzamento dell'upload o sbaglio ?
Posted: Wed Jun 27, 2007 9:18 am
by chiaiese
Con il comando FTP sicuramente no, ma avevo capito che ti servisse qualcosa per fare dei test.
In ogni caso io uso questo metodo anche in applicazioni reali perchè (per ora) è quello che mi ha dato maggiore affidabilità trasferendo senza problemi file anche da 30-40MB, i file batch che mi servono li creo al volo da FW e poi eseguo il comando.
Forse meno elegante ma più sicuro
ciao
Roberto
Posted: Wed Jun 27, 2007 9:39 am
by Marco Turco
>Forse meno elegante ma più sicuro
Su questo hai ragione, utilizzavo anch'io il tuo sistema e non ho mai avuto problemi, tuttavia la banda di progressione mi serve assolutamente.
Posted: Wed Jun 27, 2007 1:03 pm
by Maurizio
Io uso
Code: Select all
for n = 1 to Len( aSource )
hSource = FOpen( aSource[ n ] )
oFile = TFtpFile():New( aTarget[ n ], oFTP )
oFile:OpenWrite()
oSay:SetText("Copia:" + aSource[ n ] + " in " + aTarget[ n ])
oProg3:SetRange( 0, FSeek( hSource, 0, 2 ))
oProg3:SetPos( 0 )
FSeek( hSource, 0, 0 )
nFile := 0
SysRefresh()
while ( nBytes := FRead( hSource, @cBuffer, nBufSize ) ) > 0 .and. ! lEnd
oFile:Write( SubStr( cBuffer, 1, nBytes ) )
oProg3:SetPos( nFile += nBytes )
nTotal += nBytes
SysRefresh()
end
FClose( hSource )
oFile:End()
if lEnd
exit
endif
AddoLbx("Trasferimento file:" + aSource[ n ] + " completata " )
next