#鸿蒙通关秘籍#鸿蒙系统中应用如何获取并读取文件的URI?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
EVT流光瞬息

支持打开文件的应用需要在module.json5中声明文件打开能力,允许打开以file://协议开头的文件,并通过URI获取待打开的文件。在拉起应用后,处理传入的Want参数信息,从中获取待打开文件的URI即可。

bash { "module": { "abilities": [ { "skills": [ { "actions": ["ohos.want.action.viewData"], "uris": [ { "scheme": "file", "type": "text/plain", "linkFeature": "FileOpen" } ] } ] } ] } }

处理文件的代码如下:

javascript import fs from '@ohos.file.fs'; import { Want } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServiceKit';

export default class EntryAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { let uri = want.uri; if (!uri) { console.info('uri is invalid'); return; } try { let file = fs.openSync(uri, fs.OpenMode.READ_WRITE); console.info('Succeed to open file.'); } catch (err) { let error: BusinessError = err as BusinessError; console.error(Failed to open file openSync, code: ${error.code}, message: ${error.message}); } } }


分享
微博
QQ
微信
回复
1天前
相关问题
如何根据uri读取文件?
3108浏览 • 1回复 待解决