我试图添加下载实用程序的暂停/恢复功能,似乎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
如果有人遇到类似的问题,或者我在这里做错了什么,请告诉我
答案 0 :(得分:1)
从网址中我可以看到您正在使用Azure Blob Storage
。
默认情况下,它不会尊重Range
标头,您需要使用x-ms-version
标头将版本设置为2011-08-18或更新以使其正常工作,例如:
request.Headers["x-ms-version"] = "2011-08-18";
您还可以全局设置Range标头的版本默认工作,请查看this question和this MSDN page以获取更多信息。