Hi Team
I am using jsch to fetch a file from SFTP server using JSCH using the below snippet.
the connect is getting succeeded, however the inputstream is not being able to fetched with the file path.
could anybody help me with this.
if anybody has any working snippet, please let me know.
Regards
Bishnu
Solved! Go to Solution.
Views
Replies
Total Likes
Hi,
This is not a question directly related to AEM, but rather about pure Java code. Therefore, you could also search for an answer outside of this community. Additionally, I suggest double-checking basic aspects such as whether the file exists, if the path is correct, if any exceptions are being thrown, and if you have proper rights.
You could refactor and ensure that no exceptions occur, something like this
Session session = jsch.getSession(user, host, 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
logger.info("session connected: " + session.isConnected());
Channel channel = session.openChannel("sftp");
channel.connect();
logger.info("channel connected: " + channel.isConnected());
ChannelSftp channelSftp = (ChannelSftp) channel;
try {
InputStream stream = channelSftp.get("/faresheet/abc.pdf");
logger.info("File fetched successfully");
// Process the input stream here...
// Close the stream and disconnect the channel
stream.close();
channel.disconnect();
session.disconnect();
} catch (SftpException | IOException e) {
logger.error("Error fetching file: " + e.getMessage());
}
Also, you could use the method ChannelSftp.ls() to check if the file is accessible. Please look at this thread for more insights: https://stackoverflow.com/questions/35358762/list-all-files-in-remote-server-using-jsch
Hope this helps
Hi,
This is not a question directly related to AEM, but rather about pure Java code. Therefore, you could also search for an answer outside of this community. Additionally, I suggest double-checking basic aspects such as whether the file exists, if the path is correct, if any exceptions are being thrown, and if you have proper rights.
You could refactor and ensure that no exceptions occur, something like this
Session session = jsch.getSession(user, host, 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
logger.info("session connected: " + session.isConnected());
Channel channel = session.openChannel("sftp");
channel.connect();
logger.info("channel connected: " + channel.isConnected());
ChannelSftp channelSftp = (ChannelSftp) channel;
try {
InputStream stream = channelSftp.get("/faresheet/abc.pdf");
logger.info("File fetched successfully");
// Process the input stream here...
// Close the stream and disconnect the channel
stream.close();
channel.disconnect();
session.disconnect();
} catch (SftpException | IOException e) {
logger.error("Error fetching file: " + e.getMessage());
}
Also, you could use the method ChannelSftp.ls() to check if the file is accessible. Please look at this thread for more insights: https://stackoverflow.com/questions/35358762/list-all-files-in-remote-server-using-jsch
Hope this helps
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies