Ошибка загрузки файла FTP Java - PullRequest
7 голосов
/ 19 мая 2011

Я использую библиотеки Apache FTPClient и FTPServer в своем проекте Java.Сервер и клиент находятся на одной машине.

Мой 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?

1 Ответ

5 голосов
/ 25 мая 2011

Проблема решена: Это как дать пользователю разрешение на запись. Я добавил этот фрагмент на стороне сервера, и он работал.

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

Authority auth = new WritePermission();

auths.add(auth);

user.setAuthorities(auths);

В этом символе записан термин Authority -> < > после List и ArrayList в первой строке. Сайт не видит слов в символе <>.

...