Как загрузить файл на сервер с помощью JSCH (SFTP) в Android

Создать sftp-клиент с Java стало действительно легко с помощью JSCH Library.

JSch — это чистая Java-реализация SSH2 (мы можем использовать канал SFTP). JSch позволяет вам подключаться к серверу sshd и использовать переадресацию портов, пересылку X11, передачу файлов и т. Д., И вы можете интегрировать его функциональность в свои собственные программы Java. JSch лицензируется под лицензией в стиле BSD.

Вы можете использовать следующий код для загрузки файла на удаленный путь с устройства с Java:

// Remember use the required imports (the library as well) using :
import com.jcraft.jsch.*;
/// then in our function
try {
JSch ssh = new JSch();
Session session = ssh.getSession("username", "myip90000.ordomain.com", 22);
// Remember that this is just for testing and we need a quick access, you can add an identity and known_hosts file to prevent
// Man In the Middle attacks
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword("Passw0rd");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;
sftp.cd(directory);
// If you need to display the progress of the upload, read how to do it in the end of the article
// use the put method , if you are using android remember to remove "file://" and use only the relative path
sftp.put("/storage/0/myfile.txt", "/var/www/remote/myfile.txt");
Boolean success = true;
if(success){
// The file has been uploaded succesfully
}
channel.disconnect();
session.disconnect();
} catch (JSchException e) {
System.out.println(e.getMessage().toString());
e.printStackTrace();
} catch (SftpException e) {
System.out.println(e.getMessage().toString());
e.printStackTrace();
}

Эта функция поможет вам, она использует метод put. Вам нужно только указать путь к файлу и указать новый удаленный путь к файлу.

Помните, что в качестве примера это не относится к безопасности. Вам необходимо добавить известные файлы хостов, если ваш сервер использует их, или добавить идентификацию, если ваш сервер использует закрытый ключ для аутентификации.

Ссылка на основную публикацию
Adblock
detector