클라이언트. 다운로드파일(파일) 전체 이름, 파일 스트림); 이렇게하려면 3 개의 매개 변수가 필요하므로 컴파일 오류가 있는 세 번째 매개 변수가 필요합니다. 어떤 도움을 주시면 감사하겠습니다. 그런 다음 이 SFTP 클라이언트를 사용하여 서버에 연결하고 디렉터리의 내용을 재귀적으로 다운로드합니다: Source는 원격 서버에서 다운로드하려는 디렉토리이며 대상은 로컬 디렉터리입니다. 전체 디렉토리를 다운로드하는 데 시간이 걸리므로 비동기 방식 (스레드 만들기)에서만 사용하는 것이 좋습니다.하지만 이것은 단지 권장 사항이며 코드를 풀 수 있습니다 : 개인 키 파일과 동시에 암호를 사용하여 SFTP 서버에 연결하는 경우 다음 스니펫을 사용하여 연결을 만들 수 있습니다 : 전체 디렉토리 (하위 폴더 및 하위 파일)를 다운로드해야하는 경우 함수를 다시 만들어야합니다. 첫 번째 함수는 DownloadFile으로, 인수가 파일을 다운로드할 때 원격 디렉토리와 로컬 경로를 통해 사용할 수 있습니다. 두 번째 함수는 providen 디렉터리의 모든 파일을 나열하고 해당 파일을 반복하는 DownloadDirectory 메서드입니다. Respectively, if the item is a file then it will use the DownloadFile method to download it or if it`s a folder, then it will create it: In this article, I`ll show you how to download a complete directory tree using SSH.NET. 이제 다운로드 디렉터리 메서드를 정의합니다.
디렉터리 목록을 얻고 항목을 반복합니다. 파일이 다운로드되고 각 디렉터리에 대해 다운로드 디렉터리 메서드를 재귀적으로 호출합니다: 파일을 다운로드하여 System.IO.Stream을 사용하는 Sftp.Download 메서드를 사용하여 메모리에 저장할 수 있습니다. 파일을 다운로드하려면 SFTPClient.DownloadFile 메서드를 사용하고 System.IO.File.OpenWrite 방법을 사용하여 로컬로 작성할 수 있습니다: WinSCP에 대한 대안은 다른 것들을 아웅, SFTP 사이트에서 파일을 다운로드 할 수있는 능력을 가지고 SSH.NET. 원격 디렉토리에서 파일을 삭제하려면 SFTPClient.DeleteFile 메서드를 사용합니다 : 다운로드하려고하면 실패하고 SftpFile 클래스가이 링크가 가리키는 것을 찾을 수있는 방법이 없기 때문에 기호 링크를 무시하고 있습니다. “.” 및 “..”도 무시됩니다. 패키지를 설치 한 후 아래와 같은 것이 SFTP 사이트에서 모든 파일을 다운로드하기 위해 작동합니다. 대상 파일에 대한 파일 스트림을 만들고 SFTP 클라이언트의 DownloadFile 메서드를 사용하여 파일을 다운로드하는 것은 매우 쉽습니다. 이 문서에서는 널리 알려진 SSH.NET 라이브러리를 사용하여 WinForms C#에서 SFTP로 작업할 때 설치 방법과 몇 가지 팁 작업을 수행하는 방법을 설명합니다. SFTPClient.ListDirectory 메서드를 사용하는 다음 코드 조각(동기)을 사용하여 디렉터리 의 콘텐츠를 나열 SSH.NET할 수 있습니다. SSH.NET .NET용 보안 셸(SSH) 라이브러리로 병렬 처리에 최적화되었습니다. 이 프로젝트는 자바에서 이식 된 Sharp.SSH 라이브러리에서 영감을 받았으며 꽤 오랜 시간 동안 지원되지 않은 것처럼 보입니다.