Ftp di Internet explorer

Moderator: Enrico Maria Giordano

Post Reply
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Ftp di Internet explorer

Post 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
User avatar
pymsoft
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia
Contact:

Post by pymsoft »

Marco,

penso che puoi fare tutto, meno indicare la destinazione (io non so come farlo)


ftp://utente:password@iltuoip/iltuofile


Saluti
Pedro Gonzalez
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

Post 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
Roberto Chiaiese
R&C Informatica S.n.c.
http://www.recinformatica.it
info@recinformatica.it
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Ftp di Internet explorer

Post by Enrico Maria Giordano »

Per prima cosa prova con Filezilla e vedi se lo stesso file viene trasmesso regolarmente dal tuo cliente.

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post 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
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Post 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 ?
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

Post 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 :wink:

ciao
Roberto
Roberto Chiaiese
R&C Informatica S.n.c.
http://www.recinformatica.it
info@recinformatica.it
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Post 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.
User avatar
Maurizio
Posts: 705
Joined: Mon Oct 10, 2005 1:29 pm
Contact:

Post 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
Post Reply