2014-11-14 69 views
0

在我的WP8.1 Silverlight应用程序中,我想下载一个文件并将其保存到一个独立的存储。下载是好的,但我怎么能保存它?下载并保存一个HttpRequestMessage C#

的下载,我用这个:

var HttpClientDownloadFile = new Windows.Web.Http.HttpClient(); 

     Windows.Web.Http.HttpRequestMessage request = new Windows.Web.Http.HttpRequestMessage(Windows.Web.Http.HttpMethod.Get, new Uri(downloadUrl)); 
     request.Headers.Add("Range", "bytes=0-"); 

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

如果我运行调试,在response.content我有我的下载。现在,我想将它保存到隔离存储中。我怎样才能做到这一点 ?我应该使用流吗?

感谢

回答

0

将您的响应流,并写入到文件

using (var fileStream = await this.storageFile.OpenFileAsync(fileName, FileMode.OpenOrCreate)) 
{  
    await stream.CopyToAsync(fileStream); 
} 
+0

我应该做这样的事情:使用'(VAR流=新的MemoryStream()){ Windows.Web。 Http.HttpResponseMessage response = await HttpClientDownloadFile.SendRequestAsync(request).AsTask(tokenSource.Token,progressCallback); }'? – seb2020 2014-11-14 17:10:15