C#中下载ftp文件的问题,求解。
下载方法:
public void FTPDownload2(string URL, string filename)
{
System.Net.WebClient wc = new System.Net.WebClient();
wc.Credentials = new System.Net.NetworkCredential(ftpUserID, ftpPassword);
wc.DownloadFile(URL, filename);
wc.Dispose();
}
调用方法:
string ftpURI_all = "ftp://10.25.23.160:21/updatePackage/测试.mht";
FTPDownload2(ftpURI_all, @"D:\测试.mht");
问题:
如果ftpURI_all全是英文路径,没什么问题,可以下载,但是如果路径中出现中文的话,就会报错:
远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)。
我在浏览器中访问ftp下的这个文件,发现浏览器地址栏中的地址不显示中文,而是下面这个路径:
ftp://10.25.23.160:21/updatePackage/%CA%FD.mht
于是我在程序中将带有中文路径的ftpURI_all进行转码,转成和浏览器地址栏的地址一样,也就是ftp://10.25.23.160:21/updatePackage/%CA%FD.mht,但是还是不行。
有没有大神做过类似的东西,我这里是英文路径可以下载,中文路径就不行了。