2016-02-25 2 views
3

При перемещении файла в другое место FTP вы должны использовать RenameTo с новым местоположением FTP.Переименование файла с помощью FtpWebRequest

В этом примере, как вы используете 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()); } 
+0

Это сообщение на тему может помочь: http://stackoverflow.com/q/13026170/4072843 – Castaglia

ответ

3

Установить целевой путь к .RenameTo собственности, а не URL:

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

Согласно MSDN документации FtpWebRequest.RenameTo property:

Получает или задает новое имя из файла, переименованы.

Сравнить с WebRequest.Create method:

Инициализирует новый экземпляр WebRequest для указанного URI схемы.

-1

A- изменить это, чтобы быть

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

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

Просто добавьте (/) до вашей папки с файлами, которые позволяют вам DelFile, renFile также DownloadFile

+0

Добро пожаловать ТАК. Спасибо за ваш ответ. Пожалуйста, помните, что многие пользователи не являются носителями английского языка, поэтому аббревиатуры, такие как delFile, не будут настолько очевидны для них. –

Смежные вопросы