Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-04-2010, 14:14   #1
Craving
Member
 
L'Avatar di Craving
 
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!
Craving è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2010, 16:04   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
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
Cosa che per le mie esigenze andava benissimo.

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2010, 16:34   #3
Craving
Member
 
L'Avatar di Craving
 
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?
Craving è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2010, 17:42   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Craving Guarda i messaggi
Se io imposto la modalità di trasferimento SEMPRE binary, i file testuali si modificano?
Estratto dal manule di ftp4j:
Quote:
Quando un trasferimento è binario il file viene trattato da ambo le parti come una sequenza binaria, cioè un flusso di byte, e viene registrato da chi lo riceve così come gli è arrivato, senza analisi o manipolazioni dei dati ricevuti. Quando un trasferimento è testuale, al contrario, ambo le parti possono applicare delle trasformazioni di charset. Si immagini di avere un client in esecuzione su una piattaforma Windows, mentre il server gira su un sistema UNIX. Normalmente i charset usati dalle due piattaforme sono diversi. Il client deve inviare al sito remoto un file dai contenuti testuali. Scegliendo il trasferimento testuale il client leggerà il file supponendo che i suoi contenuti siano stati codificati secondo il charset predefinito della macchina che lo esegue. Il contenuto del file sarà decodificato e ricodificato in una codifica intermedia. Il server riceverà i dati nella codifica intermedia, e sarà suo compito riconvertirli secondo il charset predefinito della propria macchina. Se i charset di partenza e di destinazione sono differenti la sequenza di byte che compone il file trasferito sarà molto probabilmente cambiata, ma il contenuto rimarrà lo stesso e la leggibilità mantenuta.
Altre letture qui e qui che in pratica non fanno altro che ribadire il concetto.


Quote:
Originariamente inviato da Craving
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)?
Aggiungi tutte le estensioni che vuoi all'elenco.
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2010, 07:11   #5
Craving
Member
 
L'Avatar di Craving
 
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);
, infatti quando trasferisco un'immagine quella risultante ha dimensioni diverse . Mhmm qualche idea?
Craving è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
Dal microscopio all'IA: un cervello di i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v