使用WebClient上载文件目录

时间:2017-05-16 22:30:49

标签: c# .net ftp webclient

我搜索并搜索过,找不到办法。我在要上传的目录中有文件。文件名不断变化,因此我无法按文件名上传。这是我尝试过的。

using (WebClient client = new WebClient())
{
    client.Credentials = new NetworkCredential("User", "Password");
    foreach (var filePath in files)
        client.UploadFile("ftp://site.net//PICS_CAM1//", "STOR", @"PICS_CAM1\");
}

但我收到编译错误:

  

名称'文件'在当前上下文中不存在

我所研究的一切都说这应该有效。

有没有人有通过WebClient上传文件目录的好方法?

2 个答案:

答案 0 :(得分:0)

我认为您的网络客户端上传工作正常。您的问题是您的变量files不在范围内。

您需要发布更多代码,以便我们看到更好的

答案 1 :(得分:0)

您必须定义并设置files。如果要上传某个本地目录中的所有文件,请使用例如Directory.EnumerateFiles

WebClient.UploadFileaddress参数也必须是目标文件的完整URL,而不仅仅是目标目录的URL。

IEnumerable<string> files = Directory.EnumerateFiles(@"C:\local\folder");

using (WebClient client = new WebClient())
{
    client.Credentials = new NetworkCredential("username", "password");

    foreach (string file in files)
    {
        client.UploadFile(
            "ftp://example.com/remote/folder/" + Path.GetFileName(file), file);
    }
}