【发布时间】:2012-04-02 16:00:26
【问题描述】:
我正在尝试从 ftp 服务器读取 txt 文件,但收到“550 文件未找到”。错误,即使我 %100 确定文件在那里。
以下是我尝试过的 URI 变体:
ftp://server/MySubFolder/MyFile.txt
ftp://server/%2fMySubFolder/MyFile.txt
ftp://server/MySubFolder/%2fMyFile.txt
ftp://server/%2fMySubFolder/%2fMyFile.txt
ftp://server/%2f/MySubFolder/MyFile.tx
ftp://server/MySubFolder/%2f/MyFile.txt
ftp://server/%2f/MySubFolder/%2f/MyFile.txt
它们都返回相同的结果页面:
200 Type set to I.
200 PORT command successful.
550 The system cannot find the path specified.
这是我正在尝试的代码:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(file);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential(username, password);
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string content = reader.ReadToEnd();
reader.Close();
response.Close();
我还尝试在创建 FtpWebRequest 对象之前调用 SetMethodRequiresCWD,但它也没有帮助。
我的应用程序是一个 .NET 4.0 客户端配置文件 Windows 服务。
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
您是否在浏览器中尝试过相同的 URL 并且它在那里工作?
标签: .net .net-4.0 windows-services ftpwebrequest