Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Renaming file with FtpWebRequest

When moving a file to another FTP location you must use RenameTo with the new FTP location.

In this example how do you use RenameTo to move to the new FTP location?

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()); }
like image 279
losopha Avatar asked Feb 25 '16 21:02

losopha


People also ask

How to rename a file in SFTP?

Using mv command you can move or rename a file in a remote server. Syntax: psftp> mv oldfile newfile.

WHAT IS PUT command in FTP?

To copy a single file, use the put command. ftp> put filename. To copy multiple files at once, use the mput command.


1 Answers

Set a target path to .RenameTo property, not URL:

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

As per MSDN documentation for FtpWebRequest.RenameTo property:

Gets or sets the new name of a file being renamed.

Compare to WebRequest.Create method:

Initializes a new WebRequest instance for the specified URI scheme.


The URL would be redundant in RenameTo, as you cannot use it to "rename" the file to another server.

like image 151
Martin Prikryl Avatar answered Oct 04 '22 17:10

Martin Prikryl