上传后读取文件的FtpWebRequest给出拒绝访问错误

时间:2011-06-23 08:38:14

标签: ftpwebrequest

我们在项目中使用FTPWebRequest类来上传PDF文件。为了上传文件,我们使用Write方法,从(FtpWebRequest)WebRequest的对象获取GetRequestStream()。

上传文件后,我们读取文件以获取长度(文件大小)。我们正在使用 FtpWebResponse的GetResponseStream方法也是如此。

当文件大小较小时,所有内容都会产生罚款,但是当上传大量文件时,会出现“550”拒绝访问错误。

在我看来,当在FTP上写入大文件并且在关闭流之后如果我们立即去读取文件然后它创建访问被拒绝的问题可能是FTP服务器没有从文件或其仍然删除锁从流中编写文件。

如何摆脱这个问题。当我们关闭用于上传文件的Stream时,是否有任何事件或方法可以找出文件已成功写入FTP服务器?

1 个答案:

答案 0 :(得分:0)

虽然我不知道为什么但是后面的步骤帮助我解决了这个问题

  1. 在FTP服务器上将缓冲区大小设置为低,一般为64 K,您可以将其设置为32 k

  2. 将块发送到服务器,而不是一次性发送它,因为当它一次性发送时,数据保存在缓冲区中,当我们发出读取文件请求时,会提示错误。