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

そのため、数時間のトラブルシューティングの後、マカフィーが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 に答える