为什么我不能使用FtpWebRequest.GetRequestStream()方法设置Stream?

时间:2010-05-06 14:56:16

标签: ftp

我一直在尝试用.NET 2.0中的c#写一个简单的ftp客户端3天了 遗漏了什么。我创建了一个ftpWebRequest对象并设置了它的所有属性。

string uri = host + remoteFile;
System.Net.FtpWebRequest ftp = (FtpWebRequest)(FtpWebRequest.Create(uri));
ftp.Credentials = new System.Net.NetworkCredential(username, password);
ftp.KeepAlive = false;
ftp.UseBinary = true;
ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile;

但是当我去获取流时,它失败了......

System.IO.Stream strm = ftp.GetRequestStream();

以下是错误:“System.Net.WebException:远程服务器返回错误:(501)参数或参数中的语法错误。”

这个方法应该返回我需要写入的流,很多例子都是这样做的。我不确定我错过了什么。我的主机看起来像这样:“ftp://myhostname/”我已经三次检查了我的凭据。

请帮忙!

2 个答案:

答案 0 :(得分:0)

服务器可能不支持ftp.UseBinary = true;吗?

答案 1 :(得分:0)

您在主持人后缺少“/”:

string uri = host + "/" + remoteFile;

,远程文件字符串应如下所示:file.txt没有任何路径。

相关问题