我try 用C#将文件上传到FTP服务器.文件已上载,但没有字节.

private void button2_Click(object sender, EventArgs e)
{
    var dirPath = @"C:/Documents and Settings/sander.GD/Bureaublad/test/";

    ftp ftpClient = new ftp("ftp://example.com/", "username", "password");

    string[] files = Directory.GetFiles(dirPath,"*.*");

    var uploadPath = "/httpdocs/album";

    foreach (string file in files)
    {
        ftpClient.createDirectory("/test");

        ftpClient.upload(uploadPath + "/" + Path.GetFileName(file), file);
    }

    if (string.IsNullOrEmpty(txtnaam.Text))
    {
        MessageBox.Show("Gelieve uw naam in te geven !");
    }
}

推荐答案

现有的答案是有效的,但为什么要重新发明轮子,而WebClient已经实现了FTP上传,为什么还要麻烦使用较低级别的WebRequest种类型呢

using (var client = new WebClient())
{
    client.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
    client.UploadFile("ftp://host/path.zip", WebRequestMethods.Ftp.UploadFile, localFile);
}

.net相关问答推荐

实体框架核心:Azure容器应用程序的执行超时已过期

使用EFCore.BulkExtensions库方法BulkInertOrUpdate时区分插入和更新的记录

C#:如何构造异步/等待代码,其中许多请求是针对相同的、返回缓慢的数据发出的,这可以满足所有请求

WinForm Task.Wait :为什么它会阻塞 UI?

使用 Powershell TOM 在 SSAS 表格中创建分区

无法使用 int.Parse 从字符串转换值

Dictionary.FirstOrDefault() 如何判断是否找到了结果

StreamWriter.Flush() 和 StreamWriter.Close() 有什么区别?

标签从右向左增长

如何使用 C# 中的代码更改网络设置(IP 地址、DNS、WINS、主机名)

如何在 C# 中直接执行 SQL 查询?

什么是编组?当某些东西被编组时会发生什么?

我们应该总是在类中包含一个默认构造函数吗?

关闭 Visual Studio 中所有选项卡但当前选项卡的键盘快捷键?

自定义属性的构造函数何时运行?

风格上的差异:IDictionary vs Dictionary

设置 System.Drawing.Color 值

如何从 .NET 读取 PEM RSA 私钥

使用+运算符的字符串连接

根据条件从列表中删除项目