我不确定你到底在问什么。唯一应该是Windows.ApplicationModel.Package.Current.InstalledLocation
与您的 AppPackage 一起安装的文件,即是您的应用程序分发的一部分。您的应用不应该(甚至不允许)在其中存储任何文件。
运行时生成的任何文件都应存储在 和 之一中,Windows.Storage.ApplicationData.Current.LocalFolder
具体取决于您希望它们的保存方式。此规则的唯一例外是当您希望用户甚至从您的应用程序外部访问这些文件时 - 那么您应该将它们放入库中(并要求访问它)或使用文件选择器向用户询问位置.Windows.Storage.ApplicationData.Current.RemoteFolder
Windows.Storage.ApplicationData.Current.TempFolder
编辑:
加载本地 HTML 资源非常有限,除非它们与应用程序一起分发,即它们存储在协议中InstalledLocation
并通过ms-appx-web
协议访问。如文件所述,WebView
控件不支持ms-appdata
用于从或检索数据LocalStorage
的协议:RemoteStorage
TempFolder
此外,WebView 不支持 ms-appdata: 方案,尽管它支持 ms-appx-web: 方案。这使您能够在项目中加载内容文件。
这或多或少会带走您在 C# 项目中的所有选项。您可以使用另一种 HTML 查看器控件,但我只知道一个,它甚至还没有完成。
在 JavaScript 中,情况只是稍微好一点。ms-appdata
协议仅支持数据文件:
有时,参考从 Internet 下载到应用程序本地 ApplicationData 存储的资源(通过 Windows 运行时 API)很有用。要引用此类内容,您必须使用方案“ms-appdata:”,以及 ApplicationData 本地存储中文件的路径。请注意,出于安全原因,您无法导航到已下载到此位置的 HTML,并且您无法运行任何可执行或潜在的可执行代码,例如脚本或 CSS。它适用于图像或视频等媒体。
这意味着您可以执行以下操作:
<img src="ms-appdata:///local/img/coal.jpg" />
但不是:
<iframe src="ms-appdata:///local/index.html" />
ms-appdata
协议语法有据可查,以防您仍然会发现它的用途。