|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2002
Città: Padova
Messaggi: 119
|
Problemi con FTPClient di apache commons
Ciao, sto scrivendo un programma Java che deve uploadare dei file via FTP.
Sto usando l'FTPClient di apache commons (org.apache.commons.net.ftp.FTPClient) e ho un problemino: quando viene uploadato un file non so se è un file di testo o immagine o cosa, quindi non so se impostare come file type BINARE_FILE_TYPE o ASCII_FILE_TYPE o cos'altro. Come potrei fare? Grazie! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Di default (in quella libreria) è ASCII_FILE_TYPE.
Io a suo tempo ho utilizzato la libreria ftp4j e lì l'equivalente della classe FTPClient oltre ad avere la modalità testuale e quella binaria, metteva a disposizione una modalità "automatica" (di default, tra l'altro). In quella modalità si arrangiava il client a stabilire, di volta in volta, che modalità di trasferimento dati avrebbe usato. In pratica il client si appoggiava a una classe che implementava una sorta di riconoscitore di estensioni con i quale valuare se un dato tipo di file, stabilito dalla sua estensione, andasse trasferito in modalità testuale o binaria. In ftp4j la classe che implementa il riconosictore di estensioni testuali di default (perchè poi sei sempre libero di difinirtene uno custom) considerava come file testuali (e quindi impostava la modalità di trasferimento con il server di conseguenza) tutti i file con le seguenti estensioni: Codice:
abc acgi aip asm asp c c cc cc com conf cpp csh css cxx def el etx f f f77 f90 f90 flx for for g h h hh hh hlb htc htm html htmls htt htx idc jav jav java java js ksh list log lsp lst lsx m m mar mcf p pas php pl pl pm py rexx rt rt rtf rtx s scm scm sdml sgm sgm sgml sgml sh shtml shtml spc ssi talk tcl tcsh text tsv txt uil uni unis uri uris uu uue vcs wml wmls wsc xml zsh Non so come normalmente ci si regoli, ma magari puoi fare una cosa analoga.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2002
Città: Padova
Messaggi: 119
|
Si, ci si metterebbe anche pochissimo a fare un riconoscitore del genere, però chi mi garantisce di beccarmi tutti i casi (per esempio i file di properties non sono presenti nell'elenco) ? Se io imposto la modalità di trasferimento SEMPRE binary, i file testuali si modificano?
|
|
|
|
|
|
#4 | |||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Quote:
Quote:
Immagino che in software "di spessore" il riconoscimento del tipo di file si faccia non solo esaminando la sua estensione, ma forse con qualche euristica esaminandone il contenuto.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|||
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Mar 2002
Città: Padova
Messaggi: 119
|
Sicuramente un riconoscitore serio analizza il contenuto. In prima implementazione mi accontenterò di vedere l'estensione.
Sembra però che FTPClient di apache commons non trasferisca in in binary i file anche se gli imposto Codice:
ftpClient.setFileType(FTP.BINARY_FILE_TYPE); |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:27.




















