下载前检查下载大小

时间:2009-03-18 11:14:15

标签: c# .net asp.net

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

由于

3 个答案:

答案 0 :(得分:17)

使用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

答案 1 :(得分:2)

创建一个HEAD(而不是GET或POST)请求来获取响应标头,这应该包含带有您需要的信息的内容长度标头。

答案 2 :(得分:-1)

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

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