如果在Windows8/Metro/Store应用程序中可行的话,我必须找到一种方法来填充图像框,其中包含图像的相应信息。我有一个数据库,里面有存储在本地计算机上的图像的所有物理路径,例如:"c:\BookImages\spud.jpg“。现在,当我从数据库中提取关于这本书的信息时,我还获取了图像的文件路径(“c:\BookImages\spud.jpg”)。我现在需要做的就是获取图像并将其显示在图像框中。但我不知道该怎么做,我已经研究了一段时间了,我逐渐认识到,我不能从windows应用程序的实际安装目录之外选择文件。除非我使用FileOpenPicker,这对用户每次运行应用程序时选择包含图像的文件夹都是无用的。如果任何人有我的问题的解决方案,请让我知道它将非常感谢。
发布于 2013-09-13 19:39:57
看看如果所有的目录都被授予了win rt应用程序的访问权限,那么这将是一个安全风险,所以一些特定的文件夹是可用的,尝试在其中存储用户数据。在那之后,只有File Picker可以提供帮助。
这里是链接
Folders for winrt
这是微软的政策,因此请设计相应的应用程序。您可能需要在应用程序清单文件中为某些文件夹设置功能。请仔细阅读:)
发布于 2013-09-13 23:57:42
简短的答案是让用户选择文件夹一次,并将StorageFolder保存在Windows.Storage.AccessCache中。
长篇大论的答案是,所有这些都归结为将数据存储在可通过编程方式访问的位置。
正如Anobik指出的,一种选择是使用你的appdata文件夹(在那里你可以开放访问),或者像Pictures Library这样的东西,你可以在清单中给出一个功能来访问它。这样你就不需要问用户了。
如果使用文件拾取器让用户为数据存储选择文件夹,则用户已被授予以编程方式访问该文件夹的权限,包括其包含的文件。最重要的一点是,您必须跨会话保留该权限,这就是AccessCache的目的。
可以将StorageFolder对象(和StorageFile)看作是路径名的抽象--除非您拥有对该位置的固有编程访问权限,否则您永远不会真正想要保存路径名字符串。对于文件选取器中的内容则不是这样,因此您必须使用AccessCache来实质上保存文件夹引用及其权限。
Kraig Brockschmidt的作者,Programming Windows 8 Apps with HTML, CSS, and JavaScript,来自微软出版社的免费电子书(也请参阅second edition preview)
https://stackoverflow.com/questions/18782302
复制相似问题