HttpWebRequest下载始终从文件的开始不恢复开始

时间:2016-04-16 16:24:19

标签: c# .net

我试图添加下载实用程序的暂停/恢复功能,似乎HttpWebRequest.Addrange()方法无法正常工作。我尝试使用它来恢复下载,但每次运行我的应用程序时,webresponse始终从文件的开头开始。

以下是我的代码:

  var request = (HttpWebRequest)HttpWebRequest.Create(url);
  request.AddRange((int)iExistLen);
  var downloadStream = request.GetResponse().GetResponseStream();
     for (int byteSize = 0; (byteSize = fileProvider.Read()) > 0;)
            {
                downloadStream.Read(buffer, 0, buffer.Length);
            };

以下是我的下载网址:     https://mathinew.blob.core.windows.net/sharedfolder/testfile006.txt

如果有人遇到类似的问题,或者我在这里做错了什么,请告诉我

1 个答案:

答案 0 :(得分:1)

从网址中我可以看到您正在使用Azure Blob Storage

默认情况下,它不会尊重Range标头,您需要使用x-ms-version标头将版本设置为2011-08-18或更新以使其正常工作,例如:

request.Headers["x-ms-version"] = "2011-08-18";

您还可以全局设置Range标头的版本默认工作,请查看this questionthis MSDN page以获取更多信息。