public static void main(String[] args) {
String SFTPHOST = "10.20.30.40";
int SFTPPORT = 22;
String SFTPUSER = "username";
String SFTPPASS = "password";
String SFTPWORKINGDIR = "/export/home/kodehelp/";
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
try{
JSch jsch = new JSch();
session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
channelSftp.cd(SFTPWORKINGDIR);
URL url = new URL("https://65.media.tumblr.com/839a07990f2b1ffa32065513c6224493/tumblr_oe6t3aYpHc1qfilt7o1_500.jpg");
BufferedImage image = null;
image = ImageIO.read(url);
**File f = new File(FILETOTRANSFER);
channelSftp.put(new FileInputStream(f), f.getName());**
}catch(Exception ex){
ex.printStackTrace();
}
}
Ich weiß nicht, wie Sie Bild auf SFTP-Server speichern. Ich bin verwirrt, was anstelle diesen zwei Zeilen zu schreibenSpeichern Sie Bilder auf SFTP-Server mit Java
File f = new File(FILETOTRANSFER);
channelSftp.put(new FileInputStream(f), f.getName());
Ich verwende JSch Bibliothek mit SFTP zu verbinden
Letzte Zeile channelSftp.put (url.openStream(), pathstring (path.lastIndexOf ('/'))); geben Sie den Fehler "Zugriff verweigert". Aber wenn ich den pathstring (path.lastIndexOf ('/')) zu "1.jpg" änderte, funktioniert es großartig. Vielen Dank für Ihre Hilfe. –
Ich habe verstanden, warum pathstring (path.lastIndexOf ('/')) nicht funktioniert. Weil es Teilstrings gibt, die von "/" ausgehen. Und der Name des Bildes (oder der Datei) beginnt niemals mit "/". –
@ParthPatel Ich sehe. Sie können dem Rückgabewert von 'lastIndexOf'' + 1' hinzufügen. Ich habe die Antwort aktualisiert. –