繁体   English   中英

从服务器到Windows Phone 8.1中的LocalFile的图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM