此流不支持搜索操作.HttpWebResponse

6 c# download stream httpwebrequest httpwebresponse

我正在制作一个通过http下载文件的程序.

我已经下载了,但是我希望能够暂停下载,关闭程序并在以后再次恢复它们.

我知道我从下载它们的位置支持这个.

我正在通过HttpWebResponse下载文件,并使用GetResponseStream将响应读入Stream.

当我关闭应用程序并重新启动它时,我不知道如何恢复下载.我已尝试在流上进行搜索,但它声明它不受支持.

最好的方法是什么?

Dar*_*rov 9

如果服务器支持此功能,则必须使用AddRange方法向您的请求发送Range Http标头:

request.AddRange(1024);
Run Code Online (Sandbox Code Playgroud)

这将指示服务器在第1千字节后开始发送文件.然后正常读取响应流.

要测试服务器是否支持恢复,您可以发送HEAD请求并测试它是否发送Accept-Ranges: bytes标头.

  • 是否要添加指向MSDN文档的链接?http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.addrange.aspx (5认同)