このMicrosoftの記事に基づくコードを使用してFTPサーバーにファイルをアップロードしようとしています
私のコードはテスト目的で次のようになります。
string ftpUrl = "ftp://" + ftpSite + ftpPath + "test.txt";
//string ftpUrl = ftpSite;
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl);
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
request.Method = WebRequestMethods.Ftp.UploadFile;
StreamReader srcStream = new StreamReader(filePath);
byte[] fileContents = Encoding.UTF8.GetBytes(srcStream.ReadToEnd());
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
ファイルをアップロードしようとするたびに、FTPサーバーから「ファイル名は許可されていません」というエラーが返されます。WS_FTPのようなFTPクライアントアプリケーションを使用すると、同じファイルを問題なくFTPで転送できます。
これを修正する方法について何か考えはありますか?私はすでにアクティブ/パッシブFTPモード、キープアライブ、およびバイナリモードを設定しようとしましたが運がありませんでした。
編集
これはwinformsアプリケーションです。ファイル名はOpenFileDialogプロンプトから入力され、FTPアドレスはApp.Configの設定に基づいています。