在我的应用程序中,我将FTP服务器中的文件放在一个目录中,然后将该文件源移动到目标路径。在此过程中,当我移动选定的源文件时,源文件将不会显示在源路径中,它将仅显示在目标路径中。
我在下面的代码中尝试了这个,但是我收到了错误:
string sourceurl = "ftp://ftp.com/Mainfoder/Folder1/subfolder/subsubfolder/"
string Targetpat =
"ftp://ftp.com/Mainfoder/DownloadedFiles/"+subfolder+"/"+todaydatefolder+"/"+susubfolder;
Uri serverFile = new Uri(sourceurl + filename);
request = (FtpWebRequest)FtpWebRequest.Create(serverFile);
request.Method = WebRequestMethods.Ftp.Rename;
request.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
request.RenameTo = Targetpat+"/"+newfilename;//folders without filename
response = (FtpWebResponse)request.GetResponse();
Stream ftpStream = response.GetResponseStream();
System.dll中出现未处理的“System.Net.WebException”类型异常 附加信息:远程服务器返回错误:(553)现在允许文件名。
response = (FtpWebResponse)request.GetResponse(); //This line throwing the above exception
request.RenameTo = newfilename
:当我只设置newfilename
时,它只重命名该源相同的文件名。
如何将此文件移动到同一FTP服务器中的另一个目录?
请有人告诉我。谢谢
答案 0 :(得分:1)
request.RenameTo
仅采用路径。
所以这是错误的:
string Targetpat =
"ftp://ftp.com/Mainfoder/DownloadedFiles/"+subfolder+"/"+todaydatefolder+"/"+susubfolder;
request.RenameTo = Targetpat+"/"+newfilename;
应该是:
string Targetpat =
"/Mainfoder/DownloadedFiles/"+subfolder+"/"+todaydatefolder+"/"+susubfolder;
request.RenameTo = Targetpat+"/"+newfilename;