使用FtpWebRequest重命名文件

时间:2016-02-25 21:17:10

标签: c# .net ftp ftpwebrequest

将文件移动到另一个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()); }

2 个答案:

答案 0 :(得分:7)

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

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

根据FtpWebRequest.RenameTo property的MSDN文档:

  

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

WebRequest.Create method比较:

  

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

答案 1 :(得分:-1)

A- 将其改为

ftpRequest =(FtpWebRequest)WebRequest.Create(“ftp://mysite.com//folder1/fileName.ext”);

B- ftpRequest.RenameTo =“ftp://mysite.com//folder2/fileName.ext”;

只需在允许delFile的文件夹之前添加(/),renFile也是downLoadFile