尽管目录有数据,但电容器 readdir 不显示任何文件
Capacitor readdir shows no files despite the directory having data
您好,我正在制作一个应用程序,使用 Ionic Vue 和 Capacitor 从我的 Android 设备读取文件。我已经添加了文件读写权限
我也将我的文件放在路径 Phone/Android/data/io.ionic.starter/files 中,这也是在 Ionic 中写入文件的代码路径成功创建示例文件。
最后,我使用了以下函数来尝试列出我的应用程序文件夹中的所有文件:
try {
const fList = await Filesystem.readdir({
path: '',
directory: Directory.External,
}).then(res => {
console.log("CALLBACK READING");
console.log(res);
console.log("%%%%%%%%%%%%%%%%%%%%%%");
}).catch(err => {
console.log("Error reading the file directory");
console.log(err);
});
console.log("FILES TESTED OUTSIDE");
console.log(fList);
console.log("###################");
} catch(err){
console.log("ERROR READING FILE");
console.log(err);
}
尽管如此,CALLBACK READING 函数 returns 什么也没有,而 FILES TESTED OUTSIDE 块 returns “未定义”。我花了一整天测试不同的路由和应用程序组合,我的文件是手动创建的并放在我的应用程序文件夹中。我已经测试过写入文件并且它可以工作,但似乎无法读取目录中的文件。
我错过了什么?有什么方法可以更轻松地调试错误?
修改您的 file_paths.xml 文件并像这样添加对根目录的访问权限:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<root-path name="root" path="." />
</paths>
此文件位于 android/app/src/main/res/xml
您还需要在 Android.Manifest 中添加 External 权限(对 android <=10 有效)
android:requestLegacyExternalStorage="true">
您好,我正在制作一个应用程序,使用 Ionic Vue 和 Capacitor 从我的 Android 设备读取文件。我已经添加了文件读写权限
我也将我的文件放在路径 Phone/Android/data/io.ionic.starter/files 中,这也是在 Ionic 中写入文件的代码路径成功创建示例文件。
最后,我使用了以下函数来尝试列出我的应用程序文件夹中的所有文件:
try {
const fList = await Filesystem.readdir({
path: '',
directory: Directory.External,
}).then(res => {
console.log("CALLBACK READING");
console.log(res);
console.log("%%%%%%%%%%%%%%%%%%%%%%");
}).catch(err => {
console.log("Error reading the file directory");
console.log(err);
});
console.log("FILES TESTED OUTSIDE");
console.log(fList);
console.log("###################");
} catch(err){
console.log("ERROR READING FILE");
console.log(err);
}
尽管如此,CALLBACK READING 函数 returns 什么也没有,而 FILES TESTED OUTSIDE 块 returns “未定义”。我花了一整天测试不同的路由和应用程序组合,我的文件是手动创建的并放在我的应用程序文件夹中。我已经测试过写入文件并且它可以工作,但似乎无法读取目录中的文件。
我错过了什么?有什么方法可以更轻松地调试错误?
修改您的 file_paths.xml 文件并像这样添加对根目录的访问权限:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<root-path name="root" path="." />
</paths>
此文件位于 android/app/src/main/res/xml
您还需要在 Android.Manifest 中添加 External 权限(对 android <=10 有效)
android:requestLegacyExternalStorage="true">