Мне нужен способ проверить размер загрузки без необходимости загрузки всего файла. Я использую C# и System.Net.WebClient для загрузки. Проверка должна выполняться в asp.net webservice.Проверка размера загрузки перед загрузкой
Благодаря
Мне нужен способ проверить размер загрузки без необходимости загрузки всего файла. Я использую C# и System.Net.WebClient для загрузки. Проверка должна выполняться в asp.net webservice.Проверка размера загрузки перед загрузкой
Благодаря
Использование метода HTTP HEAD для извлечения Content-Length: header.
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
Сделать ГОЛОВА (а не GET или POST) запрос просто получить заголовки ответа, это должно включать в себя заголовок длиной содержимого с информацией вам нужно.
Вы также можете использовать заголовок HTTP RANGE для загрузки только нужного материала.
Было бы очень просто создать HttpRangeStream, который поддерживает поиск и чтение на удаленном HTTP-ресурсе, если удаленный сервер HTTP 1.1 и правильно поддерживает заголовки RANGE.
Привет вы можете использовать код на этой странице, чтобы фактически получить подробную информацию (для тех, кто нуждается в информации) http://www.eggheadcafe.com/tutorials/aspnet/2c13cafc-be1c-4dd8-9129-f82f59991517 /the-lowly-http-head-reque.aspx – RC1140
Предполагая, что заголовок Content-Length существует. Вы были бы удивлены, сколько сайтов не предоставляют эту информацию, и сколько даже не поддерживают HEAD. –
Что вы бы использовали в качестве альтернативы – RC1140