7

Java プロジェクトで Apache の FTPClient および FTPServer ライブラリを使用しています。サーバーとクライアントは同じマシン上にあります。

私の FTPServer はローカル サーバーであると想定されており、インターネットには関係ありません。クライアントから FTPServer に接続できます (応答コードとして 230 を取得します) が、何もできないようです。ファイルを保存または取得できません。

この件に関するほとんどすべての質問を読みましたが、他の質問をした人は、単純なファイルを送信でき、pdf などのファイルの送信に問題がありました。テキスト ファイルを送信または取得するだけで済みます。

助言がありますか?

        FTPClient client = new FTPClient();
        String host = "mypc";
        String Name = "user";
        String Pass = "12345";

        client.connect(host);
        client.login(Name,Pass);
        System.out.println("Reply Code: " +client.getReplyCode());


    File file = new File("C:\\.....myfile..txt");

        FileInputStream in = new FileInputStream("C:\\.....myfile..txt");
        boolean isStored = client.storeFile("uploadedfile.txt", in);
        in.close();
        client.logout();
        System.out.println("isStored: " +isStored);

実際のパス名は入れませんでした。false、例外なしなどを返します。これは、それらが同じマシン上にあるためでしょうか?

編集:ファイルをftpserverに送信するには書き込み許可が必要であることが判明しました。デフォルトでは、ユーザーに書き込み権限を与えません。Apache の ftpserver ライブラリを使用してユーザーに書き込み権限を与えるにはどうすればよいですか?

4

1 に答える 1

5

問題解決: これは、ユーザーに書き込み許可を与える方法です。このスニペットをサーバー側に追加したところ、機能しました。

List<Authority> auths = new ArrayList<Authority>();

Authority auth = new WritePermission();

auths.add(auth);

user.setAuthorities(auths);

Authorityこの記号の中に書かれている用語があります-> 1行目< >以降。サイトに記号の単語が表示されません。ListArrayList<>

于 2011-05-25T16:14:03.227 に答える