|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2004
Messaggi: 83
|
[JAVA] invio file in FTP
Importando org.apache.commons.net.ftp.* ho a disposizione deversi oggetti per poter eseguire uno scambio di file tra maccchine remote.
Vorrei,però, poter inviare un file ad un server e far vedere lo stato dell'upload, come posso fare? Dopo aver dichiarato e instanzioato gli oggetti invio il file in questo modo: try { ftp.setFileType( FTPClient.BINARY_FILE_TYPE ); InputStream is = new FileInputStream( file_da_aprire ); ftp.storeFile( "nome_file.jpg", is ); } catch (IOException e) { //JOptionPane.showMessageDialog(null, e); System.out.println(e); } Non so cosa inventarmi. Ad esempio ho memorizzato il contenuto del file in un oggetto String e poi lo invio in FTP convertendolo, prima, per mezzo: ByteArrayInputStream bais = new ByteArrayInputStream(fileUpload.getBytes()); Il risultato è che mi invia qualche byte in più e quindi il file non è corretto. C'è qualche altra soluzione? Grazie!
__________________
SoftOXY!2004 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
non puoi utilizzare un oggetto String per memorizzare array di byte, per problemi legati all'encoding. Puoi semplicemente caricare il file in un ByteArrayOutputStream e farti restituire da questo un array di bytes quando serve.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2004
Messaggi: 83
|
...........
Intanto, grazie per la risposta, ma il mio problema più grande è determinare il livello di byte uploadati.
Non c'è nessun metodo in org.apache.commons.net.ftp.FTPClient; chemi restituisce lo stato del trasferimento. Mentre ho trovato con com.aoindustries.net.FtpClient ha il metodo getMonitorInterval() per restituire i byte trasferiti, ma non credo sia no classi gratutite. Non so dove parare!
__________________
SoftOXY!2004 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:25.