wsz 发表于 2025-2-11 18:53:28

另辟新径实现 Blazor/MAUI 本机交互(二)

NativeApi.cs

内部部分类,该类提供了几个与文件操作相关的方法。
get_config() 方法:

   public Task<string> get_config()   {       printerName = Preferences.Default.Get(PrinterNameKey, printerName);       return Task.FromResult(printerName);   }   

[*]该方法从应用程序的首选项中获取打印机名称 (printerName)。Maui 基础 - Preferences 存储和检索应用程序的首选项
[*]使用 Preferences.Default.Get 方法获取存储的打印机名称,如果没有存储,则返回默认值。
[*]返回一个包含打印机名称的任务。
open_file_dialog() 方法:

   public async Task<string> open_file_dialog()   {       //work in ui thread       var res =       await MainThread.InvokeOnMainThreadAsync(async () =>       {         try         {               var result = await FilePicker.Default.PickAsync(new PickOptions());               if (result == null)               {                   return "";               }               using var stream = await result.OpenReadAsync();               StreamReader reader = new StreamReader(stream);               return Convert.ToBase64String(Encoding.UTF8.GetBytes(reader.ReadToEnd()));         }         catch (Exception e)         {               var err = e.Message;               return err;         }       });       return res;   }   

[*]该方法在 UI 线程上运行,打开文件选择对话框。
[*]使用 FilePicker.Default.PickAsync 方法打开文件选择器。
[*]如果用户没有选择文件,返回空字符串。
[*]如果选择了文件,读取文件内容并将其转换为 Base64 编码的字符串。
[*]如果发生异常,返回异常消息。
save_file(string data, string fileName) 方法:

   public async Task<string> save_file(string data, string fileName)   {       try       {         string targetFile = System.IO.Path.Combine(FileSystem.Current.AppDataDirectory, fileName);         using FileStream outputStream = File.OpenWrite(targetFile);         using StreamWriter streamWriter = new(outputStream);         await streamWriter.WriteAsync(data);         return $"file path:{targetFile.Replace("\\","\\\\")}";       }       catch (Exception e)       {         var err = e.Message;         return err;       }    }

[*]该方法将给定的数据保存到指定文件名的文件中。
[*]使用 Path.Combine 方法构建目标文件路径,该路径位于应用程序的数据目录中。
[*]使用 File.OpenWrite 方法打开文件流,并使用 StreamWriter 写入数据。
[*]写入完成后,返回文件路径。
[*]如果发生异常,返回异常消息。
这些方法提供了基本的文件操作功能,包括获取配置、打开文件对话框和保存文件
如何在 Preferences 中存储自定义对象?

Maui 基础 - Preferences 存储和检索应用程序的首选项
页: [1]
查看完整版本: 另辟新径实现 Blazor/MAUI 本机交互(二)