2016-01-13 160 views
-1

我是C#的新手。我必须从HTTP网页链接下载文件。如何从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链接获取文件的最佳方式。

+1

'content'不是一个目录,它是一个字符串。 'Directory.GetFiles'与实际目录一起使用,其中字符串参数是目录的路径。你有没有尝试通过你的代码来看看“内容”是什么? – Tim

+1

你的头衔没有意义。但是你不能给一个*网页*到'Directory.GetFiles()'。它不解析HTML。 –

回答

0

如果你正在寻找从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

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

〜乔希

+0

我会尝试从xml中提取文件名。谢谢 – user28542