5

I want to upload files to home (root) directory of the server, not into a folder.

How can I do it? (using C#)

transferResult = session.PutFiles(path, "\\", true, transferOptions);

If I use \\ for remotePath, uploaded file was renamed.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
Suravi
  • 301
  • 1
  • 7
  • 21

1 Answers1

11

Remote paths typically use Unix convention with forward-slashes, not Windows back-slashes.

Moreover using a slash only denotes a root folder, not a home folder (unless your account is chrooted).

Ideally use an absolute path to the home folder:

session.PutFiles(path, "/home/user/", ...);

For chrooted account that would be a slash only (this is a general comment, I see it's not your case):

session.PutFiles(path, "/", ...);

You can also use the "./" to refer to an initial (home) directory.

session.PutFiles(path, "./", ...);

You can also use the Session.HomePath:

session.PutFiles(path, session.HomePath + "/", ...);
Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992