如何处理在React Native中以.开头的文件夹



我正面临一个以点开始的隐藏文件夹的问题。我想访问WhatsApp .status文件夹,但当我添加路径时,它没有给我该文件夹中的文件。

我使用的是rn-fetch-blob包。下面是它的代码:

RNFetchBlob.fs
.ls(`${dirs.SDCardDir}/Android/media/com.whatsapp/WhatsApp/Media/.statuses`)
.then(data => {
console.log('data => ', data);
})
.catch(error => {
console.log(error);
});

它给我一个空数组。

,

如果我将文件夹重命名为状态并删除点,则获取该文件夹中的图像。像下图:

data =>  ["IMG-20201015-WA0003.jpg", "IMG-20201015-WA0002.jpg"]

有谁能帮我解决这个问题吗?如果需要,我可以提供更多的细节。谢谢! !

我能够访问以点开头的同一个文件夹,但我不认为点是问题所在,但权限是。

const path = `${RNFetchBlob.fs.dirs.SDCardDir}/Android/media/com.whatsapp/WhatsApp/Media/.Statuses`;
console.log('path => ', path);
RNFetchBlob.fs.ls(path)
.then(data => {
console.log('data => ', data);
})
.catch(error => {
console.log(error);
});

权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> //to test on Android 11.
输出:

LOG  Running "TestProject" with {"rootTag":11}
LOG  path =>  /storage/emulated/0/Android/media/com.whatsapp/WhatsApp/Media/.Statuses
LOG  data =>  ["29373787dadf4c5eb21337456a5d949b.mp4", "e44025a00ceb4ef7854145da9621ba49.jpg", "a2f1a25d3a0842b294e36dbe48ad18dd.jpg", "5d0d04c3d369483b9f855e7f3522de6a.jpg", "91fd9117527c4ef88182458dcdc23e70.jpg", "df5c6309de994da9aa54b13a79a71568.jpg", "31570f0c284e401899afcc74aa3ff70d.mp4", "40a31c5dd94c412a816e2a5188ad253e.jpg", "0455956fe743486099d8a8f745e022d1.jpg", "6597bba6de514247af2eb900eb9fbed9.jpg", "3c609d8c5f0a4fdfbff8cef73deff525.jpg", ".nomedia", "f9fcf71ab20c484f9bf92bbae3efcab2.jpg"]

最新更新