如何使用 Windows.Web.Http 从 Internet 下载 jpeg 图像并将其存储在 Windows 应用商店应用程序中?
我面临的问题是我不知道必须对图像使用什么 Get…Async 和 Write…Async 方法?文件与字符串有很大不同。
仅 Windows.Web.Http!
没有第三方解决方案!
如果您有其他建议,请使用评论部分,而不是答案。谢谢你!
…
using Windows.Storage;
using Windows.Web.Http;
Uri uri = new Uri("http://image.tmdb.org/t/p/w300/" + posterPath);
HttpClient httpClient = new HttpClient();
// I guess I need to use one of the Get...Async methods?
var image = await httpClient.Get…Async(uri);
StorageFolder localFolder = ApplicationData.Current.LocalFolder;
StorageFolder cachedPostersFolder = await localFolder.CreateFolderAsync("cached posters", CreationCollisionOption.OpenIfExists);
StorageFile posterFile = await cachedPostersFolder.CreateFileAsync(posterPath, CreationCollisionOption.ReplaceExisting);
// I guess I need to use one of the Write...Async methods?
await FileIO.Write…Async(posterFile, image);
您可以使用以下命令获取缓冲区GetBufferAsync http://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.httpclient.getbufferasync方法,然后调用FileIO.WriteBufferAsync http://msdn.microsoft.com/en-us/windows.storage.fileio.writebufferasync将缓冲区写入文件:
Uri uri = new Uri("https://i.stack.imgur.com/ZfLdV.png?s=128&g=1");
string fileName = "daniel2.png";
StorageFile destinationFile = await KnownFolders.PicturesLibrary.CreateFileAsync(
fileName, CreationCollisionOption.GenerateUniqueName);
HttpClient client = new HttpClient();
var buffer = await client.GetBufferAsync(uri);
await Windows.Storage.FileIO.WriteBufferAsync(destinationFile, buffer);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)