C # Absolute URI удаляет «..» из URL

Мне нужно загрузить файл по FTP на ftp://ftp.remoteServer.com

Мой корневой каталог на remoteServer содержит папки для загрузки и загрузки. Мне нужно поместить свой файл в каталог «загрузить». Но при входе сервер автоматически помещает меня в папку "загрузки".

Я пытался сделать это:

string serverTarget = "ftp://ftp.remoteServer.com/";
serverTarget += "../upload/myfile.txt";
Uri target = new Uri(serverTarget);
FTPWebRequest ftp = (FTPWebRequest)FtpWebRequest.Create(target);

using(Stream requestStream = ftp.GetRequestStream()) {
    // Do upload here
}

Этот код не работает: (550) Файл недоступен (например, файл не найден, нет доступа) Я отладил код, и target.AbsoluteUri возвращается как ftp://ftp.remoteServer.com/upload вместо ftp://ftp.remoteServer.com/. ./upload (отсутствует ..)

Если я введу ftp://ftp.remoteServer.com/../upload в браузер, я могу войти в систему и убедиться, что это правильное место, куда я хочу поместить свой файл.

Как я могу заставить FTPWebRequest перейти в нужное место?

7
задан Lost In Code 15 December 2011 в 15:57
поделиться