Obtenha o tamanho do arquivo do SFTP usando o SharpSSH
Estou carregando um arquivo zip do diretório local para SFTP usando o SharpSSH. Tudo funciona bem. No entanto, gostaria de obter o tamanho do arquivo atual que acabei de enviar. A razão pela qual estou fazendo isso é que o arquivo zip é grande (de 45 GB a 80 GB) e quero garantir que, durante o upload, não tenha falhado ou travado. Deseja garantir que o zip inteiro seja carregado.
Posso obter o tamanho do arquivo zip local assim:
DirectoryInfo di = new DirectoryInfo(yesterdaysArchiveFolder);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
Console.WriteLine("Size of the zip file: " + f.Length);
}
Agora, quero fazer o mesmo com o arquivo que acabei de carregar no SFTP após a conclusão do upload.
Como sei o nome do arquivo que acabei de enviar, crio umArrayList
e coloque os arquivos do SFTP. Então eu usofor loop
para obter o arquivo que acabei de enviar.
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]);
}
}
O problema é que não há propriedades como.Length
obter o tamanho do arquivo?
Existe outra abordagem que posso adotar para descobrir o tamanho do arquivo no servidor remoto?