FtpWebrequest ごとに FTP 経由でファイルを取得しようとしています。ファイル名に ä、ö、ü などのドイツ語のウムラウテが含まれていると、ダウンロードに失敗します。
コード:
FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://re-web-03.servername.de/" + "filename with ä.xls");
request2.Method = WebRequestMethods.Ftp.DownloadFile;
request2.Credentials = new NetworkCredential("xxx", "xxx");
using (FtpWebResponse response = (FtpWebResponse)request2.GetResponse()) { // <-- Exception: The remote server returned an error: (550) File unavailable ...
ファイル名を「ae.xlsを含むファイル名」に変更すると動作します。
例外は次のとおりです: WebException: リモート サーバーがエラーを返しました: (550) ファイルを利用できません (たとえば、ファイルが見つからない、アクセスできません)。
ftp 経由のディレクトリ リストはうまく機能し、ファイル名が表示されます。
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://re-web-03.servername.de/");
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("xxx", "xxx");
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
StreamReader sr = new StreamReader(response.GetResponseStream());
while (!sr.EndOfStream)
{ Console.WriteLine(sr.ReadLine()); } // --> output is "filename with ä.xls"
}
出力は「ä.xls を含むファイル名」です。
誰かがその問題に対処するためのヒントを持っていますか - 私はそのファイルの命名に影響を与えません...
事前にどうもありがとう トビ