0

こんにちは、私は filezilla ftp サーバーを自分の PC にインストールしました。Androidアプリケーションでファイルをアップロードしようとしています。ただし、ディレクトリが見つからないというエラー 550 と構文エラーであるエラー 501 が表示されます。インターネットでいくつか検索しましたが、解決策が見つかりませんでした。手伝っていただけませんか?また、FileZilla インターフェイスのログは次のとおりです。

(000001)14.08.2012 14:36:07 - (not logged in) (192.168.10.179)> Connected, sending welcome message...
(000001)14.08.2012 14:36:07 - (not logged in) (192.168.10.179)> 220 FTP server' a hoşgeldiniz.
(000001)14.08.2012 14:36:07 - (not logged in) (192.168.10.179)> USER users
(000001)14.08.2012 14:36:07 - (not logged in) (192.168.10.179)> 331 Password required for users
(000001)14.08.2012 14:36:07 - (not logged in) (192.168.10.179)> PASS *******
(000001)14.08.2012 14:36:07 - users (192.168.10.179)> 230 Logged on
(000001)14.08.2012 14:36:07 - users (192.168.10.179)> CWD murat.alemdagtp
(000001)14.08.2012 14:36:07 - users (192.168.10.179)> 550 CWD failed. "/murat.alemdagtp": directory not found.
(000001)14.08.2012 14:36:07 - users (192.168.10.179)> TYPE I
(000001)14.08.2012 14:36:07 - users (192.168.10.179)> 200 Type set to I
(000001)14.08.2012 14:36:08 - users (192.168.10.179)> PASV
(000001)14.08.2012 14:36:08 - users (192.168.10.179)> 227 Entering Passive Mode (192,168,10,179,9,71)
(000001)14.08.2012 14:36:08 - users (192.168.10.179)> STOR 
(000001)14.08.2012 14:36:08 - users (192.168.10.179)> 501 Syntax error
(000001)14.08.2012 14:36:09 - users (192.168.10.179)> QUIT
(000001)14.08.2012 14:36:09 - users (192.168.10.179)> 221 Goodbye
(000001)14.08.2012 14:36:09 - users (192.168.10.179)> disconnected.

ここに私のアップロードコードがあります:

public Void doInBackground(Object... arg0) 
{  

  String server = "192.168.10.179";
  // TODO Auto-generated method stub
      try
      {
        ftpClient.connect(server,21);
        ftpClient.login("users", "1234567");
        ftpClient.changeWorkingDirectory("murat.alemdag\ftp");
        ftpClient.enterLocalPassiveMode();
        FileInputStream in=new FileInputStream(file);
        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
        ftpClient.storeFile(filename, in);
        publishProgress(100); 
        ftpClient.logout();

      }

      catch (Exception ex)
      {
          ex.printStackTrace();
      }    
  return null;
 }//end of doInBackground method
4

1 に答える 1

0

ディレクトリ エントリ「murat.alemdagtp」が存在することを確認してください。そうではないようです。任意の ftp クライアント (filezilla クライアントなど) でこれを行うことができ、開始ディレクトリを指定せずにログイン後に表示できるディレクトリをメモします。

次に、代わりにスラッシュ「/」を使用してパスを送信してみて、それが機能するかどうかを確認してください。

更新: 構文エラーについて: STOR にはパラメーターとしてリモート ファイル名が必要です。ログでそれを見ることができません。こちらをご覧ください: nsftools.com/tips/RawFTP.htm#STOR

したがって、変数ファイル名が何であるかを確認してください

tpClient.storeFile(filename, in); 

現在含まれています。

于 2012-08-14T11:48:19.673 に答える