在远程FTP上移动文件时出错

时间:2013-03-06 10:08:07

标签: c# ftp ftpwebrequest

我构建了一个控制台应用程序,用于从远程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主机,我也可以在两个环境中读取文件。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。在我们的例子中,它是.Net Framework的版本。安装了4.0的服务器出现“(451)处理中的本地错误”错误。那些有4.5。安装运行没有问题。所以我们在app服务器上安装了.Net Framework 4.5,解决了这个问题。