图像下载空引用异常

时间:2013-07-17 15:38:13

标签: c# webclient-download

我正在尝试创建一个图片下载程序。基本上它应该通过一个网站并下载所有的图像。我得到的错误是在foreach循环的第一行System.NullReferenceException

private void button1_Click(object sender, EventArgs e)
{
    WebBrowser browser = new WebBrowser();
    browser.DocumentCompleted += browser_DocumentCompleted;
    browser.Navigate("http://www.mysite.com");
}

void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser browser = sender as WebBrowser;
    HtmlElementCollection imgCollection = browser.Document.GetElementsByTagName("img");
    WebClient webClient = new WebClient();
    foreach (HtmlElement img in imgCollection)
    {
        string url = img.FirstChild.GetAttribute("src");
        webClient.DownloadFile(url, url.Substring(url.LastIndexOf('/')));
    }
}

3 个答案:

答案 0 :(得分:3)

<img>个元素没有孩子。

答案 1 :(得分:3)

改变这个:

img.FirstChild.GetAttribute("src");

到那个:

img.GetAttribute("src");

答案 2 :(得分:0)

更改此

 string url = img.FirstChild.GetAttribute("src");

 string url = img.GetAttribute("src");

因为img没有孩子。