[英]C# UWP displaying remote image loaded over HTTPS in Webview
[英]C# UWP displaying Image
我有一个小问题。 我必须显示图片库中的图像。 我有这个代码:
info = new ImageFileInfo() { ImageTitle = file.Path, ImageType = file.DisplayType, Image = file.Path };
我尝试使用转换器:
return new Uri("ms-appx:///" + imagename, UriKind.Absolute);
但我的图像不显示。 我知道有一种方法可以显示来自项目外部的图像,因为我前段时间一直在使用它,但我忘记了它是如何完成的,而且我在任何地方都找不到它。
ms-appx
的Uri方案只用于项目中的文件,无法通过它获取图片库中的文件。
在 UWP 中,我们不建议使用文件路径获取文件。 因为 UWP 对从路径访问文件有严格的限制。
如果要访问图片库中的文件,首先需要在 package.appxmenifest 中的 Capability 选项卡中检查Picture Library
。
然后你可以通过文件名访问它:
var img = await KnownFolders.PicturesLibrary.TryGetItemAsync("test.png");
但是还有其他更推荐的方式,比如使用 Token 访问文件:
获取文件后,我们将其存储在未来访问列表中,并获取一个Token
节省
string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);
info = new ImageFileInfo() { ImageTitle = file.Path, ImageType = file.DisplayType, Image = faToken };
得到
var image = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.GetFileAsync(info.Image);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.