相关问题
#鸿蒙通关秘籍#在鸿蒙系统中如何处理媒体文件URI?
482浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统中应用如何获取并读取文件的URI?
734浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统中如何管理文件选择过程中得到的URI?
431浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何通过组件组合实现翻页动效?
654浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现应用文件的访问和分享?
621浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中获取文档类URI?
365浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过鸿蒙分布式文件系统实现跨设备文件访问?
477浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过XComponent在鸿蒙中实现媒体数据写入?
604浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在鸿蒙应用中获取文件URI的持久化权限?
519浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何启动DataAbility
396浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何提高文件访问的安全性?
461浏览 • 1回复 待解决
#鸿蒙通关秘籍#分享的文件权限如何在鸿蒙操作系统中进行设置?
481浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS中,如何使用URI来启动应用?
519浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何实现数据的增删改查?
493浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙应用中如何通过组件调用接口实现打印?
333浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中通过C/C++实现数据持久化?
517浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中实现用户文件的选择与保存?
825浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在鸿蒙系统中实现跨应用启动ServiceAbility?
631浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中将文件路径转换为URI?
453浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样实现跨设备的文件访问和分享能力?
525浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙系统中如何利用CustomDialog实现自定义键盘功能?
624浏览 • 0回复 待解决
#鸿蒙通关秘籍#在鸿蒙中如何通过XComponent绘制复杂UI?
492浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙系统中,如何通过自定义CommentData类实现懒加载评论列表功能?
296浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中接收他人共享的文件?
477浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中通过转移方式传递ArrayBuffer对象?
533浏览 • 1回复 待解决
在鸿蒙系统中,通过URI分享文件是一个常见操作,首先需要获取文件在应用沙箱中的路径,并将其转换为URI。可以使用以下代码获取文件的URI:
typescript import { UIAbility } from '@kit.AbilityKit'; import { fileUri } from '@kit.CoreFileKit';
export default class EntryAbility extends UIAbility { onWindowStageCreate() { let pathInSandbox = this.context.filesDir + "/test1.txt"; let uri = fileUri.getUriFromPath(pathInSandbox); // 获取到的uri为"file://com.example.demo/data/storage/el2/base/files/test.txt" } }
接下来,使用
startAbility
接口分享文件,配置必要的权限和类型:typescript import { wantConstant } from '@kit.AbilityKit'; import { UIAbility } from '@kit.AbilityKit'; import { Want } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility { onWindowStageCreate() { let filePath = this.context.filesDir + '/test1.txt'; let uri = fileUri.getUriFromPath(filePath); let want: Want = { flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION | wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, action: 'ohos.want.action.sendData', uri: uri, type: 'text/plain' };
} }