当前位置:网站首页>C#操作FTP上传文件后检查上传正确性
C#操作FTP上传文件后检查上传正确性
2022-08-03 05:27:00 【谷凯Jump】
由于网络的不稳定,或程序的中断,或者客户FTP的不确定性,上传B2B资料到客户FTP时,可能会出现文件上传错误(不全/丢失等)问题。
故希望在上传后检查正确性。
我们使用FluentFTP进行FTP传输。
如何验证文件的哈希值/校验和,如果校验和不匹配,如何重试?
将FtpVerify选项设置添加到UploadFile()或DownloadFile()以启用自动校验和验证。
//上传文件的时候重新尝试设置为3次
client.RetryAttempts = 3;
//上传一个文件,在放弃之前或尝试重传3次
client.UploadFile(@"C:\test.txt", "/test.txt", FtpExists.Overwrite, false, FtpVerify.Retry);
所有可能的配置:
- FtpVerify.OnlyChecksum - 验证校验和,根据成功返回真/假。
- FtpVerify.Delete - 验证校验和,如果不匹配就删除目标文件。
- FtpVerify.Retry - 验证校验和,重试复制X次,然后放弃。
- FtpVerify.Retry | FtpVerify.Throw - 验证校验和,重试复制X次,如果仍然不匹配则抛出错误。
- FtpVerify.Retry | FtpVerifyDelete - 验证校验和,重试复制X次,如果仍然不匹配就删除目标文件。
- FtpVerify.Retry | FtpVerifyDelete | FtpVerify.Throw - 验证校验和,重试复制X次,如果仍然不匹配就删除目标文件,然后抛出一个错误
大坑注意:
当使用“FtpVerify.OnlyChecksum”时,当Remote文件路径中含空格时,会报错:OnlyChecksum;慎用!
边栏推荐
猜你喜欢
随机推荐
在Maya和ZBrush中制作战士模型
什么是国密SSL协议?国密证书与传统SSL证书有什么区别?
php 数组元素移动
什么是参数化设计,通过实操了解一下? | SOLIDWORKS 操作视频
go test执行多个文件夹下相同目录的用例
2021-06-14
用DirectX12绘制一个几何体的程序详述
数组与字符串12-数组拆分
使用Powershell批量导入Task
ue4学习日记3(设置操控角色,地形)
在OracleLinux8.6的Zabbix6.0中监控Oracle11gR2
ARP协议及简单路由器原理(1)
剑指 Offer II 001. 整数除法
移动端人脸风格化技术的应用
Oracle 11g静默安装
【记录】把json的所有key转换成小写
八、抽象类的接口的区别
嘿!selenium自动下载driver版本,得知道一下
三、final、finally、 finalize有什么不同?
【随笔】平常心