SuperAPI AI 工具集

maui-file-handling

编程与开发

查看项目

更新于 10-15 20:34

技能介绍

用途:为 .NET MAUI 应用中的文件选择、文件系统访问、打包资源读取和应用数据存储提供指导,覆盖 FilePicker API、FileResult 处理及 FileSystem 助手。

主要能力与要点:

  • 读取选中文件时必须使用 await result.OpenReadAsync(),不要直接读 FullPath,因 Android 等平台会返回 content URI,直接读取会抛错或返回空数据。
  • FilePicker 取消时返回 null,访问属性前必须判空。
  • 自定义 FilePickerFileType 各平台格式不同:Android 用 MIME 类型(如 "application/json"),iOS/macOS 用 UTType 标识符(如 "public.json"),Windows 用带点扩展名(如 ".json")。
  • 打包在 Resources/Raw 的资源为只读,需先复制到 FileSystem.Current.AppDataDirectory 再修改;部分平台会扁平化子目录,应使用唯一文件名。
  • iOS 沙箱路径含会随干净构建变化的 GUID,不能硬编码绝对路径,应使用 FileSystem 助手。
  • Android 上 OpenAppPackageFileAsync 返回的流可能不支持 Length,需要先复制到 MemoryStream 再取长度。
  • Windows 打包应用的文件系统被虚拟化,应使用 AppDataDirectory 和 CacheDirectory。

权限与限制:

  • Android 权限按版本区分:≤12(API 32)使用 READ_EXTERNAL_STORAGE;≥13(API 33)使用 READ_MEDIA_IMAGES、READ_MEDIA_VIDEO、READ_MEDIA_AUDIO,旧权限在新版上无效。
  • macOS 需在 App Sandbox 权益中声明文件访问。
  • 该资料为技能指南文档,除上述内容外,安装方式、收费与价格等信息暂未提供。