Чтобы загрузить файл с помощью SFTP в C#
Я создал код для загрузки файла на удаленный сервер SFTP, но он показывает ошибку как
"Формат данного пути не поддерживается."
я дал свой код и примеры деталей. Я уверен, что путь, который я даю, неверен, пожалуйста, исправьте меня.
мои dll файлы по SFTP является:
используя Ренси.SshNet;
используя Ренси.SshNet.По SFTP;
выборочные данные:
сервер: 192.168.1.1
remotemachine (fileZilla LocalPath):"C:\Program файлы\JSCAPE MFT Server\users\hind\scope"
public Form1() { InitializeComponent(); source = @"E:\To_Upload\tests_example.xls";// destination = "sftp://scope@hind/" + @" C:\Program Files\JSCAPE MFT Server\users\hind\scope"; host = "hind"; username = "scope"; password = "S@ssw0rd987"; port = 22; UploadSFTPFile(host, username, password, source, destination, port); } public static void UploadSFTPFile(string host, string username, string password, string sourcefile, string destinationpath, int port) { try { using (SftpClient client = new SftpClient(host, port, username, password)) { client.Connect(); client.ChangeDirectory(destinationpath); using (FileStream fs = new FileStream(sourcefile, FileMode.Open)) { client.BufferSize = 4 * 1024; client.UploadFile(fs, Path.GetFileName(sourcefile)); } } } catch (Exception ex) { MessageBox.Show(ex.StackTrace, "UploadSFTPFile"); } }
Пожалуйста, исправьте мою проблему. и как пройти SFTP путь в пункт назначения
Что я уже пробовал:
public Form1() { InitializeComponent(); source = @"E:\To_Upload\tests_example.xls"; destination = "sftp://scope@hind/" + @" C:\Program Files\JSCAPE MFT Server\users\hind\scope"; host = "hind"; username = "scope"; password = "S@ssw0rd987"; port = 22; UploadSFTPFile(host, username, password, source, destination, port); } public static void UploadSFTPFile(string host, string username, string password, string sourcefile, string destinationpath, int port) { try { using (SftpClient client = new SftpClient(host, port, username, password)) { client.Connect(); client.ChangeDirectory(destinationpath); using (FileStream fs = new FileStream(sourcefile, FileMode.Open)) { client.BufferSize = 4 * 1024; client.UploadFile(fs, Path.GetFileName(sourcefile)); } } } catch (Exception ex) { MessageBox.Show(ex.StackTrace, "UploadSFTPFile"); } }
Richard MacCutchan
Сообщение совершенно ясно, путь, который вы дали, находится в формате, который не поддерживается хостом SFTP. Скорее всего, ему нужен путь в стиле UNIX. Проверьте документацию, чтобы убедиться.
DanDanTheCodingMan
Это отлично работало для небольшого файла,но не для одного 190K... Любые идеи о том, почему это не удалось .. Нет сообщения об ошибке, но файл никогда не попадает на FTP-сайт.