书签
在现代操作系统中,书签对于保持对文件和文件夹的访问尤其重要,这些操作系统拥有严格的安全和隐私控制。例如,在iOS和较新版本的macOS这样的平台上,对直接文件系统的访问严重受限。相反,应用程序会请求用户通过系统提供的文件选择器选择一个文件或文件夹,然后操作系统会给应用程序一个安全范围内的书签,它可以用来在未来访问该文件或文件夹。
在Avalonia的StorageProvider
中,这些书签被表示为IStorageBookmarkFile
和IStorageBookmarkFolder
接口。
要从特定的文件夹或文件中获取书签ID,请使用存储项上的SaveBookmarkAsync
异步方法。
在检索到书签ID后,它可以被保存在本地数据库中以供进一步使 用,而不是每次都要求用户选择文件夹。
你可以使用OpenFileBookmarkAsync
和OpenFolderBookmarkAsync
方法通过其书签ID打开一个已标记的文件或文件夹。这将返回标记的文件或文件夹,如果操作系统拒绝请求,将返回null。
备注
确切的行为和能力可能取决于特定操作系统及其安全策略。例如,在某些平台上,如果用户移动或重命名书签指向的文件或文件夹,那么书签可能会失效。
备注
不建议在远程数据库中存储书签ID,因为书签可能不是持久的,并且可能包含敏感的文件路径信息。