c# - Agregar texto a FTP en lugar de sobrescribir
append (2)
Estoy tratando de agregar una línea de texto a un archivo txt en línea, pero el código que he intentado reemplaza todo el txt en el archivo en lugar de agregar una nueva línea, incluso después de agregar Enviorment.Newline
.
Esto es lo que he intentado:
private void submithsbtn_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
client.Credentials = new NetworkCredential("username", "password");
string peak = peakvaluelbl.Text;
string dir = @"ftp://example.com/file.txt";
string name = nametbox.Text;
client.UploadString(dir, name + " recived a peak score of: " + peak + Environment.NewLine);
}
¿Alguien sabe cómo podría lograr el resultado?
El uso de la Clase webClient de alto nivel es demasiado abstracto para lo que desea hacer.
este ejemplo de ftpWebRequest logra lo que desea hacer.
private static void AppendString(Uri target,byte[] data) {
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
request.Method = WebRequestMethods.Ftp.AppendFile;
request.ContentLength = data.length;
request.Credentials = new NetworkCredential ("anonymous","[email protected]");
Stream requestStream = request.GetRequestStream();
requestStream.Write(data, 0, data.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
response.Close();
}
Hay un método sobrecargado WebClient UploadString que toma tres argumentos y el segundo es para especificar el método.
client.UploadString(url,"APPE",data);
Consulte la lista de comandos de FTP en Wikipedia .