SharpSSH를 사용하여 로컬 디렉토리에서 SFTP로 zip 파일을 업로드하고 있습니다. 모든 것이 잘 작동합니다. 그러나 방금 업로드 한 현재 파일의 파일 크기를 얻고 싶습니다. 내가이 일을하는 이유는 압축 파일이 (45GB에서 80GB로) 크기 때문에 업로드하는 동안 실패하거나 멈추지 않았는지 확인하기 위해서입니다. 전체 우편 번호가 업로드되었는지 확인하고 싶습니다.SharpSSH를 사용하여 SFTP에서 파일 크기 가져 오기
나는 다음과 같이 로컬 zip 파일의 파일 크기를 얻을 수 있습니다 :
DirectoryInfo di = new DirectoryInfo(yesterdaysArchiveFolder);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
Console.WriteLine("Size of the zip file: " + f.Length);
}
지금, 내가 업로드가 완료되면 그냥 SFTP에 업로드 한 파일에 대해 동일한 작업을 수행하려고 할 수 있습니다.
방금 업로드 한 파일의 이름을 알고 있으므로 ArrayList
을 만들고 SFTP에서 파일을 가져옵니다. 그런 다음 for loop
을 사용하여 방금 업로드 한 파일을 가져옵니다.
ArrayList FileList = oSftp.GetFileList(_ftpDirectory);
int count = FileList.Count;
Console.WriteLine("Files in SFTP: " + count);
for (int i = 0; i < FileList.Count; i++)
{
if (zipFileName == FileList[i].ToString())
{
Console.WriteLine(FileList[i]);
}
}
문제는 해당 파일의 파일 크기를 얻을 수 .Length
같은 어떤 특성이있어 없다는 것입니다?
원격 서버에있는 파일의 파일 크기를 알아낼 수있는 다른 방법이 있습니까?
당신이 SSH 연결이, 나는 당신이 원격 서버에'ls' 같은 명령을 실행할 수 있다고 생각합니다. 다음과 같은 예가 있습니다. (조금 다른 점이 있습니다) : [추가 입력을 요구하는 Linux 명령을 실행하는 데 SharpSSH를 사용하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/9857788/how-to-use- sharpssh-for-executing-linux-commands-which-prompts-for-additonal-inp)를 사용하십시오. –