使用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
上传文件目录的好方法?
您必须定义和设置files
。 如果要上载某个本地目录中的所有文件,请使用Directory.EnumerateFiles
。
此外, WebClient.UploadFile
的address
参数必须是目标文件的完整URL,而不仅仅是目标目录的URL。
IEnumerable 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); } }
我认为您的网络客户端上传工作正常。 您的问题是您的变量files
不在范围内。
您需要发布更多代码,以便我们可以更好地查看