You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WinForms应用如何将编辑后的TXT文件上传至FTP网站?

用C# WebClient实现FTP文件上传

当然有对应的实现方法啦!既然你已经用WebClient完成了FTP文件的下载,那用它来上传编辑后的内容也非常顺手——WebClient本身就支持FTP的上传操作,只需要加上登录凭据并调用对应的上传方法就行。

直接上传文本框内容(无需本地保存)

因为你已经把编辑后的内容放在了textBox里,最直接的方式就是用UploadString方法直接上传字符串内容,不用先保存到本地文件:

// 注意这里要改成FTP协议的地址,不是http
string ftpTargetUrl = "ftp://www.webite.xx.xx/text.txt";
string ftpUsername = "你的FTP用户名";
string ftpPassword = "你的FTP密码";

using (System.Net.WebClient webClient = new System.Net.WebClient())
{
    // 设置FTP登录的凭据,没有权限的话无法上传
    webClient.Credentials = new System.Net.NetworkCredential(ftpUsername, ftpPassword);
    
    try
    {
        // 上传textBox中的编辑内容,会直接覆盖原文件
        webClient.UploadString(ftpTargetUrl, textBox.Text);
        MessageBox.Show("文件上传成功!");
    }
    catch (Exception ex)
    {
        // 捕获异常方便排查问题
        MessageBox.Show($"上传出错啦:{ex.Message}");
    }
}

如果需要先保存本地再上传

要是你习惯先把编辑后的内容保存到本地文件,也可以用UploadFile方法:

// 先把textBox内容保存到本地临时文件
string localFilePath = @"C:\temp\edited_text.txt";
System.IO.File.WriteAllText(localFilePath, textBox.Text);

using (System.Net.WebClient webClient = new System.Net.WebClient())
{
    webClient.Credentials = new System.Net.NetworkCredential(ftpUsername, ftpPassword);
    
    try
    {
        webClient.UploadFile(ftpTargetUrl, localFilePath);
        MessageBox.Show("文件上传成功!");
    }
    catch (Exception ex)
    {
        MessageBox.Show($"上传出错啦:{ex.Message}");
    }
}

几点注意事项

  • 一定要把地址改成ftp://开头的FTP协议地址,不能用之前下载的http地址哦
  • 确认你的FTP账号拥有目标文件所在目录的写入权限,不然会触发权限错误
  • UploadString和UploadFile都会直接覆盖目标路径的原文件,如果需要保留原文件,得先修改上传的文件名

内容的提问来源于stack exchange,提问作者Johnliverpool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:38:34