使用FtpWebRequest重命名文件

8

当将文件移动到另一个FTP位置时,您必须使用RenameTo指定新的FTP位置。

在这个例子中,如何使用RenameTo来移动到新的FTP位置?

FtpWebRequest ftpRequest = null;
FtpWebResponse ftpResponse = null;
try
{
    ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://mysite.com/folder1/fileName.ext");
    ftpRequest.Credentials = new NetworkCredential("user", "pass");
    ftpRequest.UseBinary = true;
    ftpRequest.UsePassive = true;
    ftpRequest.KeepAlive = true;
    ftpRequest.Method = WebRequestMethods.Ftp.Rename;
    ftpRequest.RenameTo = "ftp://mysite.com/folder2/fileName.ext";
    ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
    ftpResponse.Close();
    ftpRequest = null;
}
catch (Exception ex) { Label1.Text = (ex.ToString()); }

这篇关于类似话题的帖子可能会有所帮助:https://dev59.com/-WnWa4cB1Zd3GeqP5vGR - Castaglia
2个回答

7

将目标路径设置为.RenameTo属性,而不是URL:

ftpRequest.RenameTo = "/folder2/fileName.ext";
        

根据MSDN文档中FtpWebRequest.RenameTo属性的说明:

获取或设置正在重命名的文件的新名称

WebRequest.Create方法进行比较:

为指定的URI方案初始化一个新的WebRequest实例。


在RenameTo中,URL是多余的,因为您无法使用它将文件“重命名”到另一台服务器。

-1

1
欢迎来到SO。感谢您的答案。请记住,很多用户不是以英语为母语的人,因此像delFile这样的缩写对他们来说可能不太明显。 - Jonathan Willcock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接