【发布时间】:2013-02-21 01:33:19
【问题描述】:
我已经构建了一个控制台应用程序,可以从远程 FTP 读取和移动文件。 在我将代码部署到生产环境之前,一切都很顺利。
当我连接到 FTP 时,我要求的第一件事是 listDirectory,它可以在两种环境中工作。之后我尝试从根目录移动文件,但这仅适用于开发环境!? 在生产中,我收到以下错误代码:“远程服务器在处理中返回错误 (451) 本地错误”
这是移动一个文件的代码:
var uri = new Uri("ftp://ftp.example.com/test.xml");
var request = (FtpWebRequest)WebRequest.Create(uri);
request.Credentials = new NetworkCredential(_username, _password);
request.UsePassive = true;
request.Method = WebRequestMethods.Ftp.Rename;
request.RenameTo = "/folder/test.xml";
(FtpWebResponse)request.GetResponse();
还应该提到我可以使用命令行在生产环境中移动文件:
ftp ftp.example.com
用户名:.....
密码:.....
重命名 test.xml /folder/test.xml
250 文件已成功重命名或移动
我的想法已经用完了,因此感谢所有帮助!
PS。我在两个环境中使用相同的凭据连接到同一个 FTP 主机,并且我还可以在两个环境中读取文件。
【问题讨论】:
标签: c# ftp ftpwebrequest