2016-04-11 4 views
1

Я использую org.apache.commons.net.ftp.FTPSClient для отправки файлов на другой сервер. Но программа зависает послеFTPSClient зависает на storeFile - отправленный файл с нулевыми байтами

boolean stored = client.storeFile(fileName, is); 

Файл отправлен, но на сервере он имеет нулевые байты.

Я попытался отправить тот же файл на тот же сервер, используя Filezilla, и он передается без проблем, поэтому я не думаю, что это проблема брандмауэра.

Я также убедился, что мой InputStream читает этот файл, печатая его содержимое.

Вот мой код:

FTPSClient client = new FTPSClient(); 
InputStream is = null; 

client.connect(AppValues.ftpurl); 
client.login(AppValues.ftpname, AppValues.ftppass); 
is = new FileInputStream("C:\\Users\\path\\filename"); 
boolean stored = client.storeFile(fileName, is); 
System.out.println("Stored? " + stored); 

сохраненная распечатка никогда не вызывается, а файл поступает с нулевыми байтами.

Что мне не хватает?

ответ

1
FTPClient client = = new FTPClient(); 
InputStream is = null; 
client.connect(AppValues.ftpurl); 
client.login(AppValues.ftpname, AppValues.ftppass); 
client.setFileType(FTP.BINARY_FILE_TYPE); 
client.enterLocalPassiveMode(); 
is = new FileInputStream("C:\\Users\\path\\filename"); 
boolean stored = client.storeFile(fileName, is); 
System.out.println("Stored? " + stored); 
+0

Я использую версию 3.3. – Eddy

+0

новый FileInputStream ("C: \\ Users \\ path \\ filename"); Ваш путь правильный? –

+0

Как я уже сказал в сообщении, я убедился, что файл читается. Так да. – Eddy

 Смежные вопросы

  • Нет связанных вопросов^_^