Считывает несколько байт из файла через http c#

#c# #http

#c# #http

Вопрос:

Как загрузить первые 200 байт файла по протоколу HTTP с использованием C #?
Я полагал, что это можно сделать следующим образом:

 WebClient wc = new WebClient();
byte[] buffer = new byte[200];
using (var stream = wc.OpenRead(fileName))
{
     stream.Read(buffer, 0, 200);
}
  

но когда wc.OpenRead он вызывается, он загружает весь файл.

Комментарии:

1. @Jon: Нет, это, конечно, не дубликат, поскольку это C #, а другой — Java.

Ответ №1:

Вам необходимо установить заголовок диапазона в вашем WebClient перед вызовом метода OpenRead.

Смотрите: http://msdn.microsoft.com/en-us/library/system.net.webclient.headers.aspx

Комментарии:

1. Не могли бы вы, пожалуйста, предоставить источник, как это сделать. Я пытался, wc.Headers.Add("Range", "bytes=0-200"); но wc.OpenRead(fileName) выдает исключение.

2. Пожалуйста, какое исключение выдается?

3. Я сделал то, что мне было нужно, используя WebRequest.