我搜索并搜索过,找不到办法。我在要上传的目录中有文件。文件名不断变化,因此我无法按文件名上传。这是我尝试过的。
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
上传文件目录的好方法?
答案 0 :(得分:0)
我认为您的网络客户端上传工作正常。您的问题是您的变量files
不在范围内。
您需要发布更多代码,以便我们看到更好的
答案 1 :(得分:0)
您必须定义并设置files
。如果要上传某个本地目录中的所有文件,请使用例如Directory.EnumerateFiles
。
WebClient.UploadFile
的address
参数也必须是目标文件的完整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);
}
}