Windows应用商店应用8.1 Xaml使用http类暂停/恢复下载

时间:2014-06-01 07:27:24

标签: download windows-store-apps resume

我正在尝试使用http类来暂停/恢复下载,并且使用取消令牌可以轻松暂停,但是如何才能恢复下载?

我使用了后台下载程序类,它在恢复时遇到了很多问题,还有许多其他问题需要处理下载。

这是我的代码:

 using Windows.Web.Http;
 using Windows.Web.Http.Filters;

private async void Foo(StorageFolder folder, string fileName)
{

Uri uri = new Uri("http://localhost");
var filter = new HttpBaseProtocolFilter();
filter.ServerCredential =
    new Windows.Security.Credentials.PasswordCredential(uri.ToString(), "foo", "bar");
var client = new HttpClient(filter);

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, uri);
request.Headers.Add("Range", "bytes=0-");

// Hook up progress handler.
Progress<HttpProgress> progressCallback = new Progress<HttpProgress>(OnSendRequestProgress);
var tokenSource = new CancellationTokenSource();
HttpResponseMessage response = await client.SendRequestAsync(request).AsTask(tokenSource.Token, progressCallback);

IInputStream inputStream = await response.Content.ReadAsInputStreamAsync();
StorageFile file = await folder.CreateFileAsync(fileName, CreationCollisionOption.GenerateUniqueName);

// Copy from stream to stream.
IOutputStream outputStream = await file.OpenAsync(FileAccessMode.ReadWrite);
await RandomAccessStream.CopyAndCloseAsync(inputStream, outputStream);
}

private void OnSendRequestProgress(HttpProgress obj)
{
 Debug.WriteLine(obj);
 }

0 个答案:

没有答案