将文件移动到 FTP 上的父文件夹

Move file to parent folder on FTP

我正在尝试将文件从一个文件夹移动到它的父文件夹中。

我之前在移动文件时遇到问题,这与 RenameTo 属性 上的绝对路径与相对路径有关。我目前收到 553 错误(不允许使用文件名)。

文件在“//blah/John/Update/Done/”,我想移动到“//../Update/”。

这是我正在使用的代码片段:

string ftpConn="ftp://blah/John/Update/";
for (int i = 0; i < fileList.Count; i++ )
{
    var requestMove = (FtpWebRequest)WebRequest.Create(ftpConn + "Done/" + fileList[i].fName);
    requestMove.Method = WebRequestMethods.Ftp.Rename;
    requestMove.Credentials = new NetworkCredential(ftpUser, ftpPass);                   
    requestMove.RenameTo = ".../John/Update/" + fileList[i].fName;
    requestMove.GetResponse();
}

我已经尝试将 RenameTo 属性 更改为绝对路径,但它仍然给我同样的错误。

我认为 ... 在相对路径中无效。 你的意思可能是:

requestMove.RenameTo = "./../" + fileList[i].fName;
//                      ^  ^
//        Current dir ──┘  │
//                         │
//      Go up one folder ──┘

如果您当前的工作目录是 /blah/John/Update/Done/./../ 实际上代表 /blah/John/Update

有关相对路径语法的更多信息 here