如何使用xamarin在浏览器中打开本地文件?

How to open local file in browser using xamarin?

我正在使用 xamarin,我想直接通过应用程序在浏览器中打开本地文件(txt 或 pdf)。

所以我这样做了:

 var uri = new System.Uri(path, UriKind.Absolute);
 await Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);

我有以下例外情况:

System.ArgumentException : 'IDN labels must be between 1 and 63 characters long.

我认为这是可能的,但我不知道该怎么做。

我认为您应该查看 This Link

中的 xamarin essentials 文件帮助

认为您可以直接从应用程序在浏览器中打开本地文件(txt 或 pdf)。该文件存储在您的本地路径(不是网络 link),浏览器无法打开它。

您可以使用 Xamarin.Essentials: Launcher 在您的应用中打开文件:

This features enables an app to request other apps to open and view a file. Xamarin.Essentials will automatically detect the file type (MIME) and request the file to be opened.

代码示例是:

var fn = "File.txt";
var file = Path.Combine(FileSystem.CacheDirectory, fn);
File.WriteAllText(file, "Hello World");

await Launcher.OpenAsync(new OpenFileRequest
{
    File = new ReadOnlyFile(file)
});

如果要用浏览器打开网页link,可以使用Xamarin.Essentials: Browser