2013-10-27 4 views
0

Я пытаюсь загрузить файл pdf на ftp-сервер. Мой код выглядит примерно так:Использование загрузки файлов Apache Commons

public void pdfUpload(String ticket, JLabel message) {  

FTPClient client = new FTPClient(); 
     FileInputStream fis = null; 
     try { 
      client.connect("www.mydomain.com", 21); 
      client.login("user", "userpass"); 


      client.setFileType(FTP.BINARY_FILE_TYPE); // optional 


      String FileName = ticket.replace("/", "_"); 
      File fil = new File("pdf\\"+FileName+".pdf"); 
      message.setText(FileName+".pdf is being uploaded... Please wait"); 
      fis = new FileInputStream(fil); 

      String remoteFile = fil.getName(); 
      client.storeFile(remoteFile, fis); 
      client.logout(); 
      message.setText("File Uploaded sccessfully"); 
     } 

     catch (IOException e) { 
      message.setText("Failed to upload pdf file"+e); 
     } finally { 
      try { 
       if (fis != null) { 
        fis.close(); 
       } 
       client.disconnect(); 
      } catch (IOException e) { 
      message.setText("Failed to upload pdf file"); 
      } 
     }  
} 

Метод показывает, что файл загружен, метод выполняется отлично. и показывает сообщение завершения. Но я не могу найти файл в ftp. Это означает, что файл не загружается. Что не так с моим кодом. Пожалуйста помоги.

ответ

0

Попробуйте вызвать enterLocalPassiveMode после входа в систему.

Это может быть много, поскольку серверы FTP являются непредсказуемыми маленькими монстрами, но это то, что пахнет мне.

0

Это не похоже, что ваш путь к файлу будет действителен в удаленной системе в качестве имени файла или не будет хранить его как ожидалось на основе формата имени пути к файлу. Попробуйте использовать только имя файла без префикса «pdf \\» при сохранении в удаленной системе.

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