[英]Image from server to LocalFile in Windows Phone 8.1
我正在编写Windows Phone 8.1(WINRT)应用程序 。
我从服务器获取图像的URL。 我想将图像从该URL保存到localstorage文件。
string PictureUrlFromServer= "http://www.server.com/images/abc.png";
我这样写:
StorageFolder StorageFolderObject = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFolderAsync(LocalCache, CreationCollisionOption.OpenIfExists);
StorageFile StorageFileObject = await StorageFolderObject.CreateFileAsync(LocalProfilePicName, CreationCollisionOption.ReplaceExisting);
之后该怎么办?
编辑:
我什至尝试使用以下代码,但无法正常工作:
StorageFolder StorageFolderObject = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFolderAsync(LocalCache, CreationCollisionOption.OpenIfExists);
StorageFile StorageFileObject = await StorageFolderObject.CreateFileAsync(LocalProfilePicName, CreationCollisionOption.ReplaceExisting);
HttpClient HttpClientObject = new HttpClient();
HttpClientObject.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
Uri UriObject = new Uri(_BitmapImageUriSource);
HttpResponseMessage HttpResponseMessageObject = await HttpClientObject.GetAsync(UriObject);
HttpResponseMessageObject.EnsureSuccessStatusCode();
var responseBuffer = await HttpResponseMessageObject.Content.ReadAsBufferAsync();
await Windows.Storage.FileIO.WriteBufferAsync(StorageFileObject, responseBuffer);
错误:对StorageFileObject的访问被拒绝
要从Web下载文件,可以使用HttpClient
。
HttpClient client = new HttpClient(); // Create HttpClient
byte[] buffer = await client.GetByteArrayAsync(PictureUrlFromServer); // Download file
StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("Image.png", CreationCollisionOption.ReplaceExisting); // Create local file
using (Stream stream = await file.OpenStreamForWriteAsync())
stream.Write(buffer, 0, buffer.Length); // Save
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.