Permission Denial Error when trying to upload file picked from ExternalStorageDirectoryPath to fireStore storage
See original GitHub issueI’m trying to upload a .xlsx file to firestore storage ,I’m using react-native-document-picker to pick the file from ExternalStorageDirectoryPath
so when just log the files uri I don’t get the error but as soon as try to upload the file it throws the error .
relevant code :
const uploadFile=async ()=>{
try {
const res = await DocumentPicker.pick({
type: [DocumentPicker.types.allFiles],
});
console.log(res.uri) //<-----works fine
//this is what iscausing the error apparently
const task = Storage().ref('catalogue/'+ res.name).putFile(res.uri);
task.on('state_changed',
sn =>{},
err=>console.log(err),
() => {
console.log('excel uploaded!'+res.name)
Storage()
.ref("catalogue").child(res.name).getDownloadURL()
.then(url => {
console.log('uploaded excel url', url);
}).catch(err=>console.log(err))
}
)
await task
} catch (err) {
if (DocumentPicker.isCancel(err)) {
// User cancelled the picker, exit any dialogs or menus and move on
} else {
throw err;
}
}
}
`
I already included the required permissions in my AndroidManifest.xml
file and rebuilt the project , although From what I’ve read, MANAGE_DOCUMENTS is a “signature” permission and cannot be added to the manifest.xml or granted by the react native android permission API.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/>
the Error I’m getting :
Permission Denial: reading com.android.externalStorageProvider uri content://com… requires android.permission.MANAGE_DOCUMENTS, or grantUriPermission()
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:11 (2 by maintainers)
Top GitHub Comments
exist another post about this, recently i found this packages as alternative to rn-fetch-blob
https://github.com/flyerhq/react-native-android-uri-path
it works for me
hello @Saidfatah
you’re more than welcome to investigate this and open a PR with a fix, it’ll be appreciated, thank you