C # -Renci.Ssh.Net- UploadFile SFTP- Проверьте, успешно ли загружен файл - PullRequest
0 голосов
/ 11 марта 2019

Я использую Renci.Ssh.Net для загрузки файла в месте SFTP.

           using (SftpClient client = new SftpClient(host, port, sftpUser, sftpPassword))
            {
                client.Connect();
                if (client.IsConnected)
                {
                    client.BufferSize = 1024;
                    var filePath = sftpDir + fileName;

                    client.UploadFile(memoryStream, filePath, (o) =>
                    {
                       isUploaded = true;
                    });

                    client.Disconnect();
                }
                client.Dispose();
            }

Как проверить, успешно ли загружен файл? 3-й параметр функции UploadFile () - это действие обратного вызова. Я пытался распечатать байты (o) внутри обратного вызова, но, похоже, UploadFile () загружает байты вкуски, не все байты одновременно, поэтому я обнаружил, что байты печатаются несколько раз.Как я могу использовать обратный вызов для подтверждения успешной загрузки?Спасибо.

1 Ответ

0 голосов
/ 11 марта 2019

Нет смысла злоупотреблять uploadCallback для проверки правильности загрузки файла.

Если что-то идет не так, * метод 1004 * выдает исключение. Если он не выбрасывает, загрузка прошла успешно. Обработка обратного вызова не даст вам больше уверенности.


См. Также Как выполнить контрольные суммы во время передачи файла SFTP для целостности данных?

...