c# - C#-Renci.Ssh.Net- UploadFile SFTP- 验证文件是否上传成功
问题描述
我正在使用 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();
}
如何验证文件是否成功上传?UploadFile() 函数的第三个参数是回调操作。我尝试在回调中打印字节 (o),但似乎 UploadFile() 以块的形式上传字节,而不是一次上传所有字节,所以我发现要打印多次的字节。
如何使用回调来验证上传成功?
谢谢。
解决方案
uploadCallback
如果文件上传正确,那么滥用检查是没有意义的。
如果出现任何问题,SftpClient.UploadFile
方法将引发异常。如果没有抛出,则上传成功。处理回调不会给你更多的信心。
推荐阅读
- shopware - 购物软件:PayPal 未出现
- python - 如何将文本数据转换为 DataFrame
- r - 带引号和不带引号有什么区别
- angular - 从组件更改模型时未调用 ngModelChange
- java - createCriteria() 函数会影响 Mysql 数据库吗?
- jquery - 使用 laravel/JQuery 将多行从动态输入字段保存到数据库中
- reactjs - ReactJS - PropTypes 未验证
- docker - 我怎么知道什么时候应该使用无状态 Pod 或有状态 Pod?
- django - 如何将模板文件夹添加到 Django 项目?(在 pycharm 社区版中)
- sql - 用第二个表中的 ID 替换表中的所有名称