簡體   English   中英

UWP C#:從本地磁盤打開HTML文件到默認瀏覽器

[英]UWP C#: Open HTML file from local disk to default browser

以下代碼可打開online URL 但是它不適用於local disk網頁( HTML file ):

問題 :似乎我在這里缺少什么。 我們如何從本地驅動器中為html文件創建它?

注意 :沒有錯誤返回,只有success變量的值返回false 我已經通過手動成功打開HTML文件來驗證了該文件的存在。

async void DefaultLaunch()
{
   // The URI to launch. NOTE: It works only for online URLs, http://www.bing.com etc.
   var uriTest = new Uri(@"file:///C:/DotNET2017/Test.html");

    // Launch the URI
    try
    {
        var success = await Windows.System.Launcher.LaunchUriAsync(uriTest);
    }
    catch(Exception ex)
    {
        string st = ex.Message;
    }
}

調試模式下uriTest值的屏幕截圖

在此處輸入圖片說明

您不能使用“文件/// ...”來午餐本地文件。 您應該使用啟動文件功能,因為它是.html,它將在瀏覽器中打開

首先從以下位置獲取您的IStorageFile:

GetFileFromPathAsync

然后啟動您的文件:

Windows.System.Launcher.LaunchFileAsync(myStorageFile) 

根據文檔:

LaunchUriAsync(Uri)如果啟動了URI方案的默認應用,則返回true;否則,返回true。 否則為假。

因此,必須注冊一個應用程序來處理該計划。 系統中沒有注冊用於處理file:方案的應用程序,而是由系統本身(不是該應用程序)來處理。 因此,如果考慮到這一點,它會按預期返回false。

您應該使用Launcher.LaunchFileAsync方法。 但是請注意,如果您未定義broadFileSystemAccess功能,則將無法從任意路徑中獲取StorageFile作為該方法的參數發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM