Я использую библиотеку Tamir.SharpSSH для выполнения своих SFTP-операций. Я могу загрузить файл с клиента, удалить или перечислить файлы, расположенные в каталоге SFTP-сервера.Как добавить текстовый файл с использованием библиотеки SharpSSH
Но я не могу найти, как добавить текстовый файл. Я не хочу перезаписывать или удалять существующие и загружать новые. У меня есть файл журнала на этом SFTP-сервере. Мне нужно добавить новые строки в этот файл с клиентской стороны.
Я просто искал интернет и смотрел различные функции в коде, но ничего не пытался выполнить, потому что до сих пор я ничего не мог найти.
Заранее спасибо
EDIT
я решил использовать библиотеку Renci.SshNet из посоветуйте @Martin Přikryl в. Я также пробовал вышеуказанные операции с этой библиотекой, и я видел, что она работает хорошо. Кроме того, добавление текста в текстовый файл очень просто с этой библиотекой. Я рассказываю об этом немного:
using System
using Renci.SshNet;
namespace SFTPConnectSample
{
class Program
{
static void Main(string[] args)
{
AppendText(@"/targetFolder/targetFile.txt");
}
private static void AppendText(string targetFilePath)
{
int portNumber = 22;
using (SftpClient sftp = new SftpClient("myHostName", portNumber, "sftpUser", "sftpPassword"))
{
sftp.ConnectionInfo.Timeout = new TimeSpan(0, 0, 30);
sftp.Connect();
sftp.AppendAllText(targetFilePath, "\r\nThis is a new line for target text file.");
}
}
}
}
SFTP ISNT используется для добавления в файл , Только для перезаписи, создания, удаления, списка, как вы нашли. Возможно, вы сможете что-то сделать, если сервер sftp поддерживает возобновление, так как вы, возможно, сможете возобновить загрузку с конца файла на сервере .. но, его длинный снимок – BugFinder
@BugFinder Это совсем не так. Используя SFTP, вы можете получить доступ/перезаписать любую часть файла, как если бы вы работали с локальным файлом. –
Хм, хорошо - я только запускал sftp, где он выполнял те же команды, что и обычный ftp .. просто сделал это надежно – BugFinder