将文本附加到FTP而不是覆盖 [英] Appending text to FTP instead of overwriting

查看:114
本文介绍了将文本附加到FTP而不是覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将一行文本附加到一个txt文件上,但我试过的代码是将文件中的所有文本替换为相反的文本甚至在添加 Enviorment.Newline



之后添加一个新行,这是我尝试过的:

  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;
字符串名称= nametbox.Text;

client.UploadString(dir,name +recived a peak score of:+ peak + Environment.NewLine);
}

有人知道我怎么能够达到结果吗?

解决方案

使用高级webClient类对于您想要执行的操作来说太抽象了。

ftpWebRequest示例实现你想做的事。

private static void AppendString(Uri target,byte [] data ){
FtpWebRequest请求=(FtpWebRequest)WebRequest.Create(target);
request.Method = WebRequestMethods.Ftp.AppendFile;
request.ContentLength = data.length;
request.Credentials = new NetworkCredential(anonymous,janeDoe@contoso.com);
Stream requestStream = request.GetRequestStream();
requestStream.Write(data,0,data.Length);
requestStream.Close();
FtpWebResponse response =(FtpWebResponse)request.GetResponse();
response.Close();
}


I'm trying to append a line of text to a txt file online, but the code I've tried is replacing all the txt in the file as opposed to adding a new line, even after adding Enviorment.Newline.

Here's what I've tried:

  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);        
    }

Does anyone know how I might be able to achieve the result?

解决方案

Using the high level webClient Class is too abstract for what you you want to do.

this ftpWebRequest example achieve what you wish to do.

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","janeDoe@contoso.com");
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(data, 0, data.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();
    response.Close();
}

这篇关于将文本附加到FTP而不是覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆