Alex Rivera | Logout

How to check if System.Net.WebClient.DownloadData is downloading a binary file?

Asked 2008-09-30T15:02:06.737
23

I am trying to use WebClient to download a file from web using a WinForms application. However, I really only want to download HTML file. Any other type I will want to ignore.

I checked the WebResponse.ContentType, but its value is always null.

Anyone have any idea what could be the cause?

Edit
Report

1 Answer

3

I'm not sure the cause, but perhaps you hadn't downloaded anything yet. This is the lazy way to get the content type of a remote file/page (I haven't checked if this is efficient on the wire. For all I know, it may download huge chunks of content)

        Stream connection = new MemoryStream(""); // Just a placeholder
        WebClient wc = new WebClient();
        string contentType;
        try
        {
            connection = wc.OpenRead(current.Url);
            contentType = wc.ResponseHeaders["content-type"];
        }
        catch (Exception)
        {
            // 404 or what have you
        }
        finally
        {
            connection.Close();
        }
answered 2011-12-04T18:49:36.653

Your Answer