Sembra che il codice di seguito dal campione HttpClient per Windows 8 risolve il problema
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Get, resourceAddress);
HttpResponseMessage response = await rootPage.httpClient.SendAsync(request,
HttpCompletionOption.ResponseHeadersRead);
HttpClient è un HttpClient, e la sua BaseAddress deve essere impostato in una cartella del server della risorsa. allora possiamo fare questo per convertire che ad una sorgente di immagini (se questo è quello che stiamo scaricando)
InMemoryRandomAccessStream randomAccessStream =
new InMemoryRandomAccessStream();
DataWriter writer = new DataWriter(randomAccessStream.GetOutputStreamAt(0));
writer.WriteBytes(await response.Content.ReadAsByteArrayAsync());
await writer.StoreAsync();
BitmapImage image = new BitmapImage();
imagecontrol.SetSource(randomAccessStream);
o questo per scrivere su file
var imageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(
filename, CreationCollisionOption.ReplaceExisting);
var fs = await imageFile.OpenAsync(FileAccessMode.ReadWrite);
DataWriter writer = new DataWriter(fs.GetOutputStreamAt(0));
writer.WriteBytes(await response.Content.ReadAsByteArrayAsync());
await writer.StoreAsync();
writer.DetachStream();
await fs.FlushAsync();
fonte
2012-06-03 10:35:32
Abbiamo bisogno di modificare ReadBytes su reader.BaseStream.Read, ma non posso confermare se funziona ancora - aggiornerà –
provato var downloadingimage = attendi HttpWebRequest.Create (url) .GetResponseAsync(); con GetResponseStreamAsync(), non ha funzionato - cosa dobbiamo cambiare? –
Cosa non ha funzionato? Quale eccezione è stata lanciata? – Slugart