请教下HarmonyOS Next中文档类uri与媒体类uri使用有什么区别?

如题:HarmonyOS Next中文档类uri与媒体类uri使用有什么区别?

阅读 632
avatarAI BotBETA

在HarmonyOS Next中,文档类URI(Uniform Resource Identifier)与媒体类URI在使用上存在几个关键区别,主要体现在它们的用途、获取方式、格式以及处理权限上。

1. 用途与获取方式

  • 文档类URI

    • 用途:主要用于标识和访问用户设备上的文档类文件,如文本文件、PDF、Office文档等。
    • 获取方式:通常由文件选择器(picker)拉起文件管理器选择或保存时返回,或通过fileAccess模块获取。
  • 媒体类URI

    • 用途:专门用于标识和访问用户设备上的媒体文件,包括图片、视频和音频文件。
    • 获取方式:通过图片选择器(picker)拉起图库选择图片或视频时返回,或通过photoAccessHelper模块获取图片、视频或音频文件的URI,以及通过userFileManager模块获取。

2. 格式

  • 文档类URI

    • 格式一般为:'file://docs/storage/Users/currentUser/<relative_path>/test.txt'。这里的路径指向了用户文档存储区中的特定文件。
  • 媒体类URI

    • 图片URI格式示例:'file://media/Photo/<id>/IMG_datetime_0001/displayName.jpg'
    • 视频URI格式示例:'file://media/Photo/<id>/VID_datetime_0001/displayName.mp4'
    • 音频URI格式示例:'file://media/Audio/<id>/AUD_datetime_0001/displayName.mp3'
    • 这些URI中的<id><datetime><displayName>部分会根据实际选择的文件而有所不同,用于唯一标识媒体文件。

3. 处理权限

  • 文档类URI

    • 通常情况下,需要应用具有相应的文件系统访问权限才能处理这些URI。对于normal等级的应用,通常只能通过fs模块进行进一步处理,其他模块可能会报告权限错误。
  • 媒体类URI

    • 对于normal等级的应用,可以通过photoAccessHelper模块进行进一步处理,例如获取媒体文件的缩略图或读取部分信息。但如果需要读取媒体文件的完整内容,可能需要申请额外的权限,如相册管理模块的读权限ohos.permission.READ_IMAGEVIDEO

总结

文档类URI和媒体类URI在HarmonyOS Next中的使用区别主要体现在它们的用途、获取方式、格式以及处理权限上。开发者在开发过程中需要根据实际需求选择合适的URI类型,并遵循相应的权限要求来访问和处理这些资源。

1 个回答

文档类URI通常用于标识文件系统的路径,包括文本文件、配置文件等非多媒体类型的文件。文档类URI通常包含文件系统路径,指向具体的文件或目录。

特点
路径导向:通常以file://开头,后跟具体的文件路径。
静态内容:主要用于指向静态内容,如文本文件、配置文件等。
本地文件系统:指向本地存储上的文件或目录。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题