0

我有两个文件的链接。它们可能是同一个文件,但可能不是同一个 URL。我想通过在进行完整下载之前检查内容长度来确定它们是否相同。最好的方法是什么?

目前我正在使用 webbrowser 控件加载页面并提取数据,然后WebClient.Download用于获取文件。有没有办法在下载整个文件之前使用 WebClient 检查文件大小?

4

2 回答 2

4

我发现了一篇很棒的文章Get file length over HTTP before you download it,它提供了一种非常适合我的方法:

    static public long GetFileSize(string url)
    {
        using (WebClient obj = new WebClient())
        using (Stream s = obj.OpenRead(url))
            return long.Parse(obj.ResponseHeaders["Content-Length"].ToString());
    }
于 2012-07-28T02:03:49.200 回答
3

长度相等并不意味着文件相同。但是,如果您确定这足以断言相等,您可以发出一个HttpWebRequestwith Methodset to HEAD:这只会下载文件头,包括content-length.

于 2009-07-24T10:55:26.060 回答