@Chesterfield25

Как отправить файл на фтп сервер?

Как отправить файл а имно картинку на фтп сервер в указанную директорию?

Пробовал таким образом но получаю неудачу.

btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FTPClient ftpClient = null;

                try {
                    ftpClient = new FTPClient();
                    ftpClient.connect("*********");

                    if (ftpClient.login("*******", "********")) {
                        ftpClient.enterLocalPassiveMode();
                        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                        String data = "file:///android_asset/example.png";

                        FileInputStream in = new FileInputStream(data);
                        FTPClient con = null;
                        boolean result = con.storeFile("/example.png", in);
                        in.close();
                        ftpClient.logout();
                        ftpClient.disconnect();
                    }
                }
                catch (Exception e) {
                    Toast.makeText(getApplicationContext(), "Неудача", Toast.LENGTH_SHORT).show();
                }
            }
        });


В данном коде тоже самое происходит

<code lang="java">
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        FTPClient ftpClient = new FTPClient();

        try {
            ftpClient.connect("*********");

            if (ftpClient.login("*******", "********")) {
                ftpClient.enterLocalPassiveMode();
                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                String sourceFilePath = "file:///android_asset/example.png";
                File sourceFile = new File(new URI(sourceFilePath));
                InputStream inputStream = new FileInputStream(sourceFile);

                boolean result = ftpClient.storeFile("/example.png", inputStream);
                inputStream.close();

                if (result) {
                    Toast.makeText(getApplicationContext(), "Файл успешно загружен на сервер", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(), "Не удалось загрузить файл на сервер", Toast.LENGTH_SHORT).show();
                }

                ftpClient.logout();
                ftpClient.disconnect();
            }
        }
        catch (Exception e) {
            Toast.makeText(getApplicationContext(), "Неудача", Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        }
    }
});
</code>
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
FTPClient con = null;
boolean result = con.storeFile("/example.png", in);

Ты объявил переменную с null значением и тут же вызываешь метод в несуществующем объекте, вот и неудача номер раз.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы