【问题标题】:how to download files from http link如何从http链接下载文件
【发布时间】:2016-01-13 04:26:32
【问题描述】:

我是 C# 新手。我必须从 HTTP 网络链接下载文件。

我创建了一个这样的字符串:

string baseURL =  "http://ladsweb.nascom.nasa.gov/opendap/allData/51/MOD08_D3/2013/278";
WebClient client = new WebClient();
string content = client.DownloadString(baseURL);
string[] filePaths = Directory.GetFiles(content, "*.hdf");

我必须从扩展名为 hdf 的文件夹 278 下载文件。 但异常显示如下“路径中的非法字符” 我必须为朱利安日创建字符串(此处为 278) 我必须修改字符串并将其传递给 webclient。 从 http 链接获取文件的最佳方法是什么。

【问题讨论】:

  • content 不是目录,而是字符串。 Directory.GetFiles 用于实际目录,其中字符串参数是目录的路径。您是否尝试过单步执行代码以查看 content 是什么?
  • 你的标题毫无意义。但是你不能给Directory.GetFiles()一个网页。它不解析 HTML。

标签: c#


【解决方案1】:

如果您要从 URL 下载文件:

https://ladsweb.nascom.nasa.gov/opendap/hyrax/allData/51/MOD08_D3/2013/278/

看起来他们提供了此目录/目录中文件的 XML 表示:

https://ladsweb.nascom.nasa.gov/opendap/hyrax/allData/51/MOD08_D3/2013/278/catalog.xml

下载此目录中的文件的最佳方法是...

第一步:解析 XML 以提取目录中图像的 URL。这是实现第一步的有用 Stackoverflow 帖子:Parsing XML file using C#?

第二步:使用第一步中的图片 URL 列表,浏览并下载实际图片。以下是一些有用的帖子,概述了如何使用 .NET 的 WebClient 下载图像。

Download image from the site in .NET/C#

Using a WebClient to save an image with the appropriate extension

我希望这提供了有关如何实现所需功能的一般概述。

~乔什

【讨论】:

  • 我将尝试从 xml 中提取文件名。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-27
  • 1970-01-01
  • 2018-01-19
  • 2015-06-16
相关资源
最近更新 更多