我通过执行此操作获得了一个BitmapImage:
var bitmap = new BitmapImage(new Uri(url, UriKind.Absolute))
但是,因为我正在使用Cortana App,所以我需要使用StorageFile作为映像类型(非常愚蠢的imo,但这就是这种方式)
所以,如何将位图转换为所需的StorageFile,或者如何通过URL将图像下载到StorageFile,因为
StorageFle.GetFileFromApplicationUriAsync(Uri uri)
继续弹出“值不在指定范围内”的异常
非常感谢您的帮助!
答案 0 :(得分:1)
StorageFle.GetFileFromApplicationUriAsync
用于获取应用程序资源。
要以StorageFile
的形式下载远程Uri,请使用StorageFile.CreateStreamedFileFromUriAsync。
var path = "https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png";
var file = await StorageFile.CreateStreamedFileFromUriAsync(Path.GetFileName(path),
new Uri(path), null);
您也可以将文件保存到磁盘,以检查文件是否正确下载。
await file.CopyAsync(ApplicationData.Current.LocalFolder);