2016-01-13 337 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