下载前检查下载大小

我需要一些方法来检查下载的大小,而无需下载整个文件。 我正在使用C#和System.Net.WebClient进行下载。检查需要在asp.net webservice中运行。

谢谢

使用HTTP方法HEAD检索Content-Length:标头。

HEAD / HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Date: Wed, 18 Mar 2009 11:21:51 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT ETag: "b80f4-1b6-80bfd280" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8 

创建一个HEAD(而不是GET或POST)请求来获取响应标头,这应该包含content-length标头以及您需要的信息。

您还可以使用HTTP RANGE标头仅下载所需的内容。

如果远程服务器是HTTP 1.1并且正确支持RANGE头,那么构建支持远程HTTP资源上的搜索和读取的HttpRangeStream将非常简单。