2014-11-17 2 views
2

Я хочу загрузить файлы на домашний (корневой) каталог сервера, а не в папку.Сборник WinSCP .NET - Как загрузить файлы на дом?

Как я могу это сделать? (С помощью C#)

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

Если я использую \\ для remotePath, загруженный файл был переименован.

+0

не в состоянии проверить это сейчас, так что я положил его здесь в качестве комментария, но вы пытаетесь использовать «/»? – Steve

+0

@Steve показывает эту ошибку: 'Невозможно перезаписать удаленный файл '/ JKH_MCEFT_11172014 33502 PM.txt'. Ошибка загрузки файлов: невозможно перезаписать удаленный файл '/ JKH_MCEFT_11172014 33502 PM.txt'. Нажмите «Удалить», чтобы удалить файл и создать новый, вместо того чтобы переписать его. Ошибка: WinSCP.SessionRemoteException: не удается перезаписать удаленный файл '/ JKH_MCEFT_11172014 33502 PM.txt'. Нажмите «Удалить», чтобы удалить файл и создать новый, вместо того чтобы переписать его. ---> WinSCP.SessionRemoteException: Нет такого файла или каталога. Код ошибки: 2' – Suravi

ответ

5

Удаленные пути обычно используют соглашение Unix с косой чертой, а не обратными чертами Windows.

Кроме того, использование косой черты означает корневую папку, а не домашнюю папку (если ваша учетная запись не была chrooted).

В идеале использовать абсолютный путь к домашней папке:

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

Для корневого каталога учетной записи, которая была бы слэш только (это замечание общего порядка, я вижу, что это не ваш случай):

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

Вы также можете использовать "./" для обращения к первоначальной (домашней) директории.

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

Вы можете также использовать Session.HomePath:

session.PutFiles(path, session.HomePath + "/", ...); 
+0

yes "./" Работайте со мной спасибо @Martin – Suravi

+2

Удивительно, что автор WinSCP здесь отвечает на вопросы. Возможно, причина в том, что он работает так хорошо. –