问题
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()); }
回答1:
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.
回答2:
A- change it to be
ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://mysite.com//folder1/fileName.ext");
B- ftpRequest.RenameTo = "ftp://mysite.com//folder2/fileName.ext";
Just add (/) before your file folder that allow you to delFile,renFile also downLoadFile
来源:https://stackoverflow.com/questions/35638532/renaming-file-with-ftpwebrequest