Не удалось загрузить файл с помощью FTPClient

Мне нужно загрузить и скачать файл с помощью FTP-сервера, но у меня возникают проблемы с ним. Прошло много решений, но, похоже, ничего не работает.

Я использую secureftp-test.com в качестве тестового FTP-сервера.

Ниже приведен код для загрузки, где я использую FTPClient storeFile, но, похоже, он не работает.

public static void main(String[] args) {
    String server = "ftp.secureftp-test.com";
    int port = 21;
    String user = "test";
    String pass = "test";

    FTPClient ftpClient = new FTPClient();
    try {

        ftpClient.connect(server, port);
        boolean login = ftpClient.login(user, pass);
        System.out.println("login " + login);
        ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE);
        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

        File firstLocalFile = new File("D:/jetty.pdf");

        String firstRemoteFile = "myfile.pdf";
        InputStream inputStream = new FileInputStream(firstLocalFile);

        System.out.println("Start uploading first file");
        boolean done = ftpClient.storeFile(firstRemoteFile, inputStream);
        inputStream.close();
        if (done) {
            System.out.println("The first file is uploaded successfully.");
        } else {
            System.out.println("upload failed");
        }

    } catch (IOException ex) {
        System.out.println("Error: " + ex.getMessage());
        ex.printStackTrace();
    } finally {
        try {
            if (ftpClient.isConnected()) {
                ftpClient.logout();
                ftpClient.disconnect();
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

Каждый раз выводится сообщение «ошибка загрузки». Я не понимаю, где я не прав.


person roger_that    schedule 15.04.2013    source источник


Ответы (1)


Ваш порт неверен. Оно использует:

FTPS via Auth TLS/SSL and implicit FTP over SSL on port 990

Кроме того, если вы внимательно читаете сайт, загрузка запрещена:

Chilkat предоставляет тестовую учетную запись FTPS всем, кто хочет протестировать функциональные возможности защищенного FTP-клиента. Вы можете подключиться к ftp.secureftp-test.com, войти в систему как «test» с паролем «test» и загрузить любые файлы, имеющиеся на сервере. Учетная запись «test» также может получать списки каталогов. Однако загрузка файлов на сервер запрещена.

Ссылка: secureftp-test.com

person Raptor    schedule 15.04.2013
comment
Спасибо Шивану за указание на это. Хорошо, есть ли какой-либо другой ftp-сервер для тестирования, который я мог бы использовать только для загрузки и загрузки образца? - person roger_that; 15.04.2013
comment
вы можете настроить свой собственный FTP-сервер, например. FTP-сервером FileZilla (Windows) или vsFTPd (Linux) - person Raptor; 15.04.2013