![](/img/trans.png)
[英]c# - How to open a local html file in a web browser that is not the default one?
[英]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:
然后啟動您的文件:
Windows.System.Launcher.LaunchFileAsync(myStorageFile)
根據文檔:
LaunchUriAsync(Uri)如果啟動了URI方案的默認應用,則返回true;否則,返回true。 否則為假。
因此,必須注冊一個應用程序來處理該計划。 系統中沒有注冊用於處理file:方案的應用程序,而是由系統本身(不是該應用程序)來處理。 因此,如果考慮到這一點,它會按預期返回false。
您應該使用Launcher.LaunchFileAsync
方法。 但是請注意,如果您未定義broadFileSystemAccess
功能,則將無法從任意路徑中獲取StorageFile
作為該方法的參數發送。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.