Could someone show me how to use the FtpWebRequest and change to a different
directory? Changing directories is not listed as one of the methods, but I
believe it can be done--just can't figure out how.
you cannot use the command directly, but you can modify the uri
parameter to achieve the same result.
Let's say you're using the following format:
String uri = "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl";
FtpWebRequest Request = (FtpWebRequest)WebRequest.Create(uri);
Request.Method = "LIST";
The above example will bring you to your user's directory and list all
the contents there. Now let's say you want to go 2 directories
backwards and list the contents there (provided your user has
permissions to do that). You close the previous FtpWebRequest and
issue a new one with this uri
uri = "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/%2E%2E/%2E%2E";
This is equivalent to logging in with your user's credentials and then
using cd ../../
Note: if you try using the ".." directly without escaping them the
uri class will strip them, so "ftp://
myFtpUserName:myFtpUserPassword@myFtpUrl/../.." is equivalent to
"ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/"
Now let's say you want to go to another user's directory which is one
level above the root. If you don't specify a user name and password
it's equivalent to logging in as anonymous user. Then you issue a new
FtpWebRequest with the following uri
"ftp://myFtpUrl/%2F/anotherUserDir"
This is equivalent to logging in as anonymous and then doing
Cd /
cd anotherUserDirectory