位图图像到UWP中的StorageFile

时间:2018-06-21 00:32:26

标签: c# uwp win-universal-app

我通过执行此操作获得了一个BitmapImage:

var bitmap = new BitmapImage(new Uri(url, UriKind.Absolute))

但是,因为我正在使用Cortana App,所以我需要使用StorageFile作为映像类型(非常愚蠢的imo,但这就是这种方式)

所以,如何将位图转换为所需的StorageFile,或者如何通过URL将图像下载到StorageFile,因为

StorageFle.GetFileFromApplicationUriAsync(Uri uri)

继续弹出“值不在指定范围内”的异常

非常感谢您的帮助!

1 个答案:

答案 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);