Webview Web视图UWP未在计算机中加载文件

Webview Web视图UWP未在计算机中加载文件,webview,uwp,Webview,Uwp,我可以使用UWP中的web视图在C驱动器或任何位置打开html文件吗 我正在使用以下代码,但它不起作用: Uri targeturi = new Uri("C:/Users/user/Pictures/Files/Forms/dac36cac-5d83-4fae-bf4f-112361b719ea/index.html"); browser.Navigate(targeturi); 在uwp中,文件具有有限的访问权限。默认情况下,应用程序只能访问应用程序安装目录和数据位置。其他地点需要

我可以使用UWP中的web视图在C驱动器或任何位置打开html文件吗

我正在使用以下代码,但它不起作用:

  Uri targeturi = new Uri("C:/Users/user/Pictures/Files/Forms/dac36cac-5d83-4fae-bf4f-112361b719ea/index.html");
  browser.Navigate(targeturi);

在uwp中,文件具有有限的访问权限。默认情况下,应用程序只能访问应用程序安装目录和数据位置。其他地点需要特殊能力。有关文件访问权限的更多详细信息,请参考

您可以通过调用文件选择器(使用FileOpenPicker和FolderPicker)并让用户为您的应用程序选择要访问的文件和文件夹来访问可移动设备上的文件和文件夹。了解如何在中使用文件选择器

根据您的代码片段,您希望访问图片文件夹中的HTML文件。要访问图片文件夹中的文件,请参考。请注意,在“功能”页面上,选择应用程序管理的库。因此,打开文件并在
WebView
中显示文件的正确方法如下:

 StorageFolder storageFolder = await KnownFolders.GetFolderForUserAsync(null /* current user */, KnownFolderId.PicturesLibrary);
 StorageFile indexFile = await storageFolder.GetFileAsync("index.html");/*Change to your file path inside the picture folder*/
 browser.NavigateToString(await FileIO.ReadTextAsync(indexFile));
您可能会发现我使用了
NavigateToString
方法。该方法无法直接按路径导航到文件。要从应用程序的LocalFolder或TemporaryFolder数据存储中加载未压缩和未加密的内容,请使用带有Uri的Navigate方法,该Uri使用` ms appdata方案,并使用ms appx web方案将HTML内容加载到应用程序包中。例如:

webView1.Navigate("ms-appx-web:///help/about.html");

更多详细信息,请参阅的“导航到内容”。中的场景5提供了有关导航到您可以参考的文件的示例。

UWP应用程序是沙盒。因此,您需要使用文件选择器,以便打开文件,然后将其导航到
WebView
。感谢您的回复,此解决方案将不起作用,因为我有一个与要加载的index.html页面相关的内容,例如css和js。我需要像在web浏览器中加载一样加载它。问题是我无法将此文件夹添加到程序包存储文件夹中,因为有时文件夹名称太长,并且在尝试将文件复制到程序包文件夹时遇到异常location@HaithamQaffesha. 安装文件夹是只读的,您不能复制到该文件夹。请仔细检查这份文件。我提供了两种解决方案,一种是导航到文本,无论文件位于何处。另一个是通过
ms-appx-web
ms-appdata
方案导航。当然,这种方式也可以通过js加载
ms-appx-web
用于只读的安装文件夹,而
ms-appdata
用于您可以使用的本地文件夹。请再次检查回复。如果您仍然有问题,请提供一个项目。