我想实现一个功能,用户可以选择一个外部存储目录,然后我读取并列出所选目录中的文件。我正在使用
react-native-document-picker
库来选择目录。
const per = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE)
const res = await DocumentPicker.pickDirectory()
const conn = await RNFS.readDir(res.uri)
我认为这是对
DocumentPicker.pickDirectory()
功能的回应
{"uri": "content://com.android.externalstorage.documents/tree/primary%3ADownload%2FIRCTC%20ERS"}
但是当我尝试使用
RNFS.readDir(res.uri)
对目录做出反应时,我得到以下错误
[Error: Folder does not exist]
我在我的
AndroidManifest.xml
文件中添加了这些权限。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
...
android:requestLegacyExternalStorage="true"
</application>