HarmonyOS fileAccess使用

有一个需求场景是下载网络文件到本地,并且保存到手机公共文件夹中,HarmonyOS 中就是保存到‘文件管理的内部存储/Download’中,我申请了READ_WRITE_DOWNLOAD_DIRECTORY权限,看文档uri需要通过fileAccess使用,但是fileAccess中似乎没有api

HarmonyOS
2024-09-02 09:59:06
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

目前api12中暂时没有更新@ohos.file.fileAccess (公共文件访问与管理), 推荐使用文档中的三种文档类uri获取方式获取。

目前推荐使用弹出手动进行选择uri的方式

推荐使用fs进行开发,不再依赖fileaccess,应用无法调用系统接口

参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#ZH-CN_TOPIC_0000001847210116__fsaccess-1

将沙箱文件保存到系统下载目录可以参考以下链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-picker-V5?catalogVersion=V5

//获取选择文件的沙箱路径 
async function example():Promise<string|undefined> { 
  try { 
    let PhotoSelectOptions = new picker.PhotoSelectOptions();//图片选项 
    let DocumentSelectOptions = new picker.DocumentSelectOptions();//文件选项 
    // PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; 
    // PhotoSelectOptions.maxSelectNumber = 5; 
    let photoPicker = new picker.PhotoViewPicker();//图片 
    let DocumentViewPicker = new picker.DocumentViewPicker();//文件 
    let docs = await photoPicker.select(PhotoSelectOptions); 
    console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ’ + JSON.stringify(docs)); 
    fs.openSync(docs.photoUris[0],fs.OpenMode.READ_ONLY);//只能只读打开 
    console.info(‘PhotoViewPicker openSync success’); 
    return docs.photoUris[0]; 
  } catch (err) { 
    console.error('PhotoViewPicker failed with err: ’ + err); 
    return “null” 
  } 
}
分享
微博
QQ
微信
回复
2024-09-02 17:43:05
相关问题
HarmonyOS setInterval()使用
911浏览 • 1回复 待解决
HarmonyOS ObjectLink使用
1064浏览 • 1回复 待解决
HarmonyOS eventHub使用
1013浏览 • 1回复 待解决
HarmonyOS HMRouter使用
1204浏览 • 0回复 待解决
HarmonyOS使用HashMap崩溃
1497浏览 • 1回复 待解决
HarmonyOS 动画使用问题
850浏览 • 1回复 待解决
HarmonyOS navigation的使用
679浏览 • 1回复 待解决
HarmonyOS多线程使用
1092浏览 • 0回复 待解决
HarmonyOS socketio使用demo
1027浏览 • 1回复 待解决
HarmonyOS iconfont使用demo
1049浏览 • 1回复 待解决
HarmonyOS @BuilderParam使用问题
722浏览 • 1回复 待解决
HarmonyOS TextInput的使用
1412浏览 • 1回复 待解决
HarmonyOS NodeContainer使用方式
1268浏览 • 1回复 待解决
HarmonyOS AVScreenCapture使用示例
1107浏览 • 1回复 待解决
HarmonyOS Scroll使用问题
831浏览 • 1回复 待解决
HarmonyOS BuildProfile的使用
1482浏览 • 1回复 待解决
HarmonyOS commonEventManager 使用方案
1405浏览 • 1回复 待解决
HarmonyOS @Track使用问题
827浏览 • 1回复 待解决
HarmonyOS ProtoBuffer使用问题
1175浏览 • 1回复 待解决
HarmonyOS Slide使用问题
1116浏览 • 1回复 待解决
HarmonyOS filePreview使用问题
1222浏览 • 1回复 待解决
HarmonyOS taskpool怎么使用
1299浏览 • 1回复 待解决
HarmonyOS bindPopup的使用
1239浏览 • 1回复 待解决