c# 通过FTP上传 的 zip 文件 发生损坏,我想知道有哪些原因会引起文件损坏,以及避免措施! 代码如下!

c# 通过FTP上传 的 zip 文件 发生损坏,我想知道有哪些原因会引起文件损坏,以及避免措施! 代码如下!,第1张

readBytes = stream.Read(buffer, 0, bufferLength)//这里返回的是readBytes是你实际读取的长度,readBytes应该是小于等于岩兆bufferLength的

requestStream.Write(buffer, 0, bufferLength)//所以这个地方应该改成

requestStream.Write(buffer, 0, readBytes)写的长度应该是实际读取的长度,而不应该是缓冲区的长度

补充,按我的办法改敬洞成requestStream.Write(buffer, 0, readBytes)就可以了.不会带粗稿租空格的

解决方法:在终端下登录ftp,首先输入bin,会提示已转换到BIN模式。然后进行你的put和get *** 作。该方法肆伍是将传输形式改为二进制传输(binary)。你的问题应该会得到解决。

延伸:因为在ftp传输过程中,默认是使用ASCII模式而非BIN模式,这枯笑样会导没雹含致压缩文件在传输过程中由于编码或解码错误而导致损坏。

望采纳~

也可能是计算机的安全设置被改动过了,导致目标计算机无法被访问。可以采取以下步骤解决:

1. 打开“我的电脑”,在菜单上选择“工具”->“文件夹选项”->“查看”,清除“使用简单文件共享(推荐)”的选择。

2. 右键点击“我的电脑”,选择“管理”,选择“本地用户和组”->“用户”,右键点击Guest用户,选“属性”,清除“帐户已停用”的选择。

3. 点击“开始”->“运行”,输入secpol.msc,选择左边的“本地策略”->“用户权力指派”,双击右边的“从网络访问此计算机”,保证其中有Everyone,双击左边的“拒绝从网络访问此计算机”,保证其是空的。

4. 选择左边的“本地策略”->“安全选项”,a.确认右边的“网络访问:本地帐户的嫌羡共享与安全模式”为“经典”;b.确认右边的“Microsoft 网络客户:为通讯启用数字签名(总是)”为“已停用”;c.确认右边的“Microsoft网络客户:为通讯启用数字签名(如果服务器允许)”为“已启用”;d.确认右边的“Microsoft网络服务器:为通讯启芹此拍用数字签名(总是)”为“已停用”;e.确认右边的“Microsoft网络服务器:为通讯启用数字签名(如果服务器允许)”为“已启用扒正”。

5.重新启动计算机。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12242692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存