2***@qq.com
2***@qq.com
  • 发布:2023-12-09 20:46
  • 更新:2025-05-21 17:16
  • 阅读:1509

uniapp安卓、鸿蒙端无法读取本地文件

分类:uni-app

已获取android.permission.READ_EXTERNAL_STORAGE、android.permission.WRITE_EXTERNAL_STORAGE权限;
设备:
1、红米K50Ultra,Android13
2、华为matePad,HarmonyOS 3.0.0
写入读取文件是应用私有文档目录,对应常量plus.io.PRIVATE_DOC;
用FileReader方法读取文件的时候,onloadstart回调都未触发,请问是什么情况?
方法:

// 写入文件方法  
plus.io.requestFileSystem(  
        plus.io.PRIVATE_DOC,  
        (fs) => {  
          fs.root.getFile(  
            "test/test.txt",  
            {  
              create: true, // 文件不存在则创建  
            },  
            (fileEntry) => {  
              // 文件在手机中的路径  
              console.log("最后文件在手机中的路径========", fileEntry.fullPath);  
              fileEntry.createWriter((writer) => {  
                // 写入数据  
                writer.write(JSON.stringify("测试数据-1"));  
                // 写入文件成功完成的回调函数  
                writer.onsuccess = (e) => {  
                  console.log("写入数据成功:", e);  
                };  
                writer.onerror = (e) => {  
                  console.log("写入数据失败:", e);  
                };  
              });  
            },  
            (e) => {  
              console.log("错误0", e);  
            }  
          );  
        },  
        (e) => {  
          console.log("报错1", e);  
        }  
      );  

// 读取文件方法  
plus.io.requestFileSystem(  
        plus.io.PRIVATE_DOC,  
        (fs) => {  
          fs.root.getFile(  
            "test/test.txt",  
            {  
              create: true, // 文件不存在则创建  
            },  
            (fileEntry) => {  
              // 文件在手机中的路径  
              console.log("最后文件在手机中的路径========", fileEntry.fullPath);  

              fileEntry.file(  
                (file) => {  
                  console.log("读取文件");  
                  const fileReader = new plus.io.FileReader();  
                  fileReader.onloadstart((data) => {  
                    console.log("开始读取", data);  
                  });  
                  fileReader.onload((data) => {  
                    console.log("读取成功:", data);  
                  });  
                  fileReader.onerror((e) => {  
                    console.log("读取失败:", e);  
                  });  
                  fileReader.readAsText(file);  
                },  
                (e) => {  
                  console.log("e:", e);  
                }  
              );  
            },  
            (e) => {  
              console.log("错误0", e);  
            }  
          );  
        },  
        (e) => {  
          console.log("报错1", e);  
        }  
      );
2023-12-09 20:46 负责人:DCloud_App_Array 分享
已邀请:
1***@qq.com

1***@qq.com - 河南信阳光山

请问下 读取根目录的文件呢

7***@qq.com

7***@qq.com

这官网压根不待的回复, 安卓10以后的限制,只能读取app私有目录,文档类型什么的只能android/data/xxx 里面 其他格式没试过 有成功的踢一脚

要回复问题请先登录注册