【发布时间】:2010-07-30 08:37:50
【问题描述】:
我正在尝试通过 FTP 每个 FtpWebrequest 获取文件 - 当文件名包含德语变音符号(如 ä,ö,ü)时下载失败。
代码:
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 的文件名”。
有没有人知道如何处理这个问题 - 我对命名这些文件没有任何影响...
非常感谢托比
【问题讨论】:
标签: c# ftpwebrequest