2011-06-30 49 views
1

次の方法でFTPサーバーにupload_filesを送信しましたが、エラーは発生していませんが、ファイルは実行後にサーバーに表示されません。何が問題なの?JavaでFTPサーバーにアップロードするには?

public static void upload_files(String un, String pw, String ip, String dir, String fn){ 
    FTPClient client = new FTPClient(); 
    FileInputStream fis = null; 

    try { 
     client.connect(ip); 
     client.login(un, pw); 

     String filename = dir+"/"+fn; 
     fis = new FileInputStream(filename); 

     client.storeFile(filename, fis); 
     client.logout(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (fis != null) { 
       fis.close(); 
      } 
      client.disconnect(); 
      System.out.println("uploaded"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+3

Java、JAVA – Javier

答えて

3

いくつかの問題が考えられます。あなたは、Apache commons-netからFTPClient 3.xを使用していると仮定しています。他に何かを使用している場合は、あなたの質問にそのことを示すべきでしょう。アイデア:

  • 期待通りに必ず接続しているにするために、接続の返信状況を確認してください。 JavaDocでこれを行う方法の例があります。

  • filename変数は、送信するローカルファイルへのパスです。それは本当にあなたが(FTPログインルートに相対的な)サーバー上のファイルを格納するために使用するのと同じパスですか?それは可能性がありますが、通常そうではありません。そうでなければ、client.storeFile(...)への最初のパラメータを変更する必要があります。

  • ほとんどのFTPサーバーでは、すべての操作を記録できます。あなたはあなたにアクセスできますか?もしそうなら、それは通常どんな問題が起こっているのかを迅速に明らかにする。

関連する問題