美文网首页
鸿蒙读取文件报错open failed: EACCES (Per

鸿蒙读取文件报错open failed: EACCES (Per

作者: 刘坤林 | 来源:发表于2022-12-19 11:30 被阅读0次

    应用内文件夹,外部是无法访问的,如果你要访问的文件文件是
    /data/com.app.sure/
    这种文件的话,就不用再试了。

    错误描述

    java.io.FileNotFoundException: /storage/emulated/0/Pictures/WeiXin/mmexport1654779284255.jpg: 
    open failed: EACCES (Permission denied)
    

    错误分析

    1、权限校验已经通过
    2、其他安卓设备可以正常访问
    3、文件确实存在

    解决方案

        android:requestLegacyExternalStorage="true"
    

    反正我解决了了,仅供参考。

    吐槽一句,有写博主说可以这样

    因为鸿蒙HarmonyOS权限定得严格的原因,目前只能拿到自己应用目录下面的。
    很多开发者都有感触,就是鸿蒙对权限检查的比较严。但针对该问题,可采用以下解决办法:
    filePath = /storage/emulated/0/Download/xcx.png,一种解决方案就是先把filePath路径下的文件复制到应用的缓存目录下,然后再从缓存目录下通过File file = new File(filePath)来拿文件,然后再上传。

    实际上当我尝试复制文件的时候,就已经报错了。

    相关文章

      网友评论

          本文标题:鸿蒙读取文件报错open failed: EACCES (Per

          本文链接:https://www.haomeiwen.com/subject/xeheqdtx.html