Как загрузить файл с удаленного сервера с помощью библиотеки jsch ?
Всем привет
Я пытаюсь загрузить файлы с sftp сервера и не знаю как это сделать
Я покажу вам свой код и скажу, где я ошибся :)
Что я уже пробовал:
Я попробовал это с помощью приведенного ниже кода и когда я тестировал его с почтальоном я получил 404 не найден в качестве ответа :
может быть, это означает, что он не нашел файл для загрузки ?
сосредоточьтесь на линиях после
sftp.cd(AppLogDIR);
@Override public org.springframework.core.io.Resource downloadFile(String filename) { String HOST = "HOST@adresse"; int PORT = 22; String USER = "username"; String PASS = "password"; String AppLogDIR = "/path/to/your/remote/file/"; filename = null; try { JSch jsch = new JSch(); session = jsch.getSession(USER, HOST, PORT); session.setPassword(PASS); java.util.Properties config = new java.util.Properties(); config.put("StrictHostKeyChecking", "no"); session.setConfig(config); session.connect(); channel = session.openChannel("sftp"); channel.connect(); sftp = (ChannelSftp) channel; sftp.cd(AppLogDIR); byte[] buffer = new byte[1024]; BufferedInputStream bis = new BufferedInputStream( sftp.get("remoteFile.log")); File newFile = new File("C:/remoteFile.log"); OutputStream os = new FileOutputStream(newFile); BufferedOutputStream bos = new BufferedOutputStream(os); int readCount; while ((readCount = bis.read(buffer)) > 0) { System.out.println("Writing: "); bos.write(buffer, 0, readCount); } bis.close(); bos.close(); } catch (Exception ex) { ex.printStackTrace(); } return newFile; } @GetMapping(value="/download/{filename}") public ResponseEntity<Object> downloadFile(@PathVariable String filename) { Resource file=sftpClient.downloadFile(filename); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getFilename() + "\"") .body(file); }
я действительно гуглил и искал решение но ни один из них не решил мою проблему вот почему я возвращаюсь к вам ребята
Я буду так благодарна вам за помощь !
Richard Deeming
Если вы хотите, чтобы кто-то помог вам решить проблему, то вы должны сказать нам, в чем проблема!
Нажмите на зеленую ссылку "улучшить вопрос" и обновите свой вопрос с правильным описанием проблемы. Включите полную информацию о любых ошибках и не забудьте указать, к какой строке кода они относятся.
Member 13828418
Ну вот , я обновил свой вопрос :)
Richard Deeming
Я не знаком с Spring, но ошибка 404 подсказала бы мне, что запрос не сопоставляется с вашей конечной точкой должным образом.
Member 13828418
Я постараюсь сделать все возможное, чтобы найти, где проблема :) спасибо