相关问题
#鸿蒙通关秘籍#在鸿蒙系统中如何处理媒体文件URI?
19浏览 • 1回复 待解决
#鸿蒙通关秘籍#文件授权访问中的公共目录获取如何操作?
67浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙方舟开发框架支持哪些媒体文件格式?
69浏览 • 1回复 待解决
#鸿蒙通关秘籍#文件授权访问的情况下如何撤销持久化权限?
49浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何管理HarmonyOS应用中的临时文件?
16浏览 • 1回复 待解决
在读取媒体文件open: permission denied
2861浏览 • 1回复 待解决
HarmonyOS 关于媒体文件格式转换的问题咨询
300浏览 • 1回复 待解决
#鸿蒙学习大百科#媒体文件uri的格式是什么样的?
239浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何撤销文件的持久化授权?
22浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何提高文件访问的安全性?
19浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过Picker获取文件的持久化授权?
38浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过FilePicker设置文件永久授权?
64浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现应用文件的访问和分享?
14浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何激活持久化的文件访问权限?
26浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中托管网页中的媒体播放?
61浏览 • 1回复 待解决
#鸿蒙通关秘籍#什么是鸿蒙开发中的媒体逻辑操作符,它们如何使用?
95浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙分布式文件系统中处理文件访问冲突?
25浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用鸿蒙媒体查询设置不同屏幕的布局?
62浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过XComponent在鸿蒙中实现媒体数据写入?
85浏览 • 1回复 待解决
#鸿蒙通关秘籍#媒体查询中哪些媒体特征可以用于提升鸿蒙应用的交互体验?
84浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过鸿蒙分布式文件系统实现跨设备文件访问?
23浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何利用鸿蒙Image组件加载媒体库中的图片路径?
98浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中使用媒体特征实现多条件查询?
80浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过扩展能力访问和管理用户文件?
14浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中操作和管理请求的授权token
130浏览 • 1回复 待解决
鸿蒙系统中,可以使用临时授权方式访问媒体文件。以下是获取缩略图并读取文件部分信息的方法:
bash import { picker } from '@kit.CoreFileKit'; import { photoAccessHelper } from '@kit.MediaLibraryKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { dataSharePredicates } from '@kit.ArkData';
let uris: Array<string> = []; const context = getContext(this);
async function photoPickerGetUri() { try { let PhotoSelectOptions = new picker.PhotoSelectOptions(); PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; PhotoSelectOptions.maxSelectNumber = 1; let photoPicker = new picker.PhotoViewPicker(); photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: picker.PhotoSelectResult) => { uris = PhotoSelectResult.photoUris; }).catch((err: BusinessError) => { console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err)); }); } catch (error) { let err: BusinessError = error as BusinessError; console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err)); } }
async function uriGetAssets() { try { let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); let predicates = new dataSharePredicates.DataSharePredicates(); predicates.equalTo('uri', uris[0]); let fetchOption = { fetchColumns: [photoAccessHelper.PhotoKeys.WIDTH, photoAccessHelper.PhotoKeys.HEIGHT, photoAccessHelper.PhotoKeys.TITLE, photoAccessHelper.PhotoKeys.DURATION], predicates: predicates }; let fetchResult = await phAccessHelper.getAssets(fetchOption); const asset = await fetchResult.getFirstObject(); console.info('asset displayName: ', asset.displayName); } catch (error) { console.error('uriGetAssets failed with err: ' + JSON.stringify(error)); } }