0

この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の設定に基づいています。

4

2 に答える 2

1

完全なコードを見ずに、FTPクライアントを介してFTPサイトに手動で接続した場合に予想されるものと比較して、構築されたFTPURL/パスが正しくない可能性が非常に高いと言えます。

app.configコードと、およびに値を割り当てる方法を投稿するftpSiteftpPath、この質問に答えるのに役立ちます。

于 2012-06-28T15:10:04.410 に答える
0

多くの場合、その特定のエラーが発生する可能性があります。

最も一般的な問題は、アクセスしているパスが許可された権限では無効であり、相対パスを使用したり、wパスを変更したりすると修正される可能性があることです。

于 2012-06-28T15:05:31.503 に答える