【问题标题】:How to read/validate files from web address folder in c#如何在c#中从网址文件夹中读取/验证文件
【发布时间】:2015-04-22 19:16:28
【问题描述】:

我必须从网址文件夹中读取文件...所以使用下面的代码...我没有得到文件列表...

string pathUser = "http:/mentpc.blob.core.windows.net/cents/201503";
string pathDownload = Path.Combine(pathUser, @"20150302110215315197/20150401100536436792");

WebClient client = new WebClient();
Stream stream = client.OpenRead(pathDownload);
StreamReader reader = new StreamReader(stream);

但我收到异常消息 ===>远程服务器返回错误:(404) Not Found。

请帮帮我

【问题讨论】:

  • 你需要添加一个结尾向前 / 乍一看,http:/ 应该是 http://
  • 您尝试在示例代码 20150302110215315197/20150401100536436792 中获取这两个文件还是一个文件?
  • 20150302110215315197/20150401100536436792?......这些是子文件夹

标签: c# web webclient directory subdirectory


【解决方案1】:

您的错误意味着未找到该 URL。在调试器中调试和检查您的组合路径应该很容易。

首先,我不认为 Path.Combine 是用于 Url 的正确函数。 Path.Combine 用于物理文件路径。您应该为此使用 Uri。

Uri baseUri = new Uri("http:/mentpc.blob.core.windows.net/cents/201503");
Uri downloadUri = new Uri(baseUri, "20150302110215315197/20150401100536436792");

此外,您似乎正试图访问同一个 url 中的两个文件。如果是这种情况,您将需要更改它并一次下载一个文件。

【讨论】:

  • 实际上有一个名为 201503 的主文件夹,其他的是子文件夹 .."20150302110215315197/20150401100536436792"......所以在所有这些里面我们有文件列表。 ..那么如何读取所有文件夹和子文件夹以及其中的文件...
  • 我有这个网址路径:==>string pathUser = "http:/mentpc.blob.core.windows.net/cents/201503 .......... 有里面的文件夹和子文件夹......我必须从中读取所有文件......任何想法
  • @ClarkMike 我认为你做不到。首先,如果您需要查看文件列表,则需要在您的 Web 服务器上启用目录列表。其次,实现这一点的最佳方法是拥有一个服务(REST API),它为您提供目录中的文件列表,然后遍历返回的列表以下载每个文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-27
  • 2019-06-18
  • 1970-01-01
  • 2012-04-12
  • 2015-12-10
相关资源
最近更新 更多