2

我正在尝试连接到 FTP 服务器以上传文件。我收到“无法连接”错误。如果我使用命令行并打开 FTP 连接,我可以连接。不知道为什么以编程方式连接时出现错误。任何帮助都将不胜感激。

 FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://1.23.84.2");
 request.Method = WebRequestMethods.Ftp.UploadFile;                   

 request.Credentials = new NetworkCredential("user","password");

 // Copy the contents of the file to the request stream.    
 StreamReader sourceStream = new StreamReader(path);
 byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
 sourceStream.Close();
 request.ContentLength = fileContents.Length;

 Stream requestStream = request.GetRequestStream();
 requestStream.Write(fileContents, 0, fileContents.Length);
 requestStream.Close();

 FtpWebResponse response = (FtpWebResponse)request.GetResponse();

 Console.WriteLine("Upload File Complete, status {0}", 
          response.StatusDescription);

 response.Close();
4

2 回答 2

5

所以经过几个小时的故障排除后,是 McAfee 阻止了 ftp 端口。不得不暂时禁用本地机器上的服务。

于 2012-11-06T02:41:38.973 回答
3

我认为 FtpWebReqest 需要指向目标路径,而不仅仅是服务器的地址,如下所示:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://1.23.84.2/myFile.zip");

可以在此处找到在 FtpWebRequest 上下文中 FTP 上传的正确用法。

于 2012-11-05T16:40:34.933 回答