Quiero descargar un archivo en React Native y guardarlo en un Directorio seleccionado por el Usuario (por ejemplo, Descargas).
En este momento estoy usando https://www.npmjs.com/package/react-native-document-picker para permitir que el usuario elija un directorio y https://www.npmjs.com/package/react-native-fs /v/1.2.0 para descargar el archivo.
Desafortunadamente, react-native-document-picker solo me da un URI dinámico para el directorio, que no existe cuando react-native-fs intenta acceder a él. Creo que está escondido detrás de algo como un proveedor de archivos.
Busqué mucho pero no encontré ninguna solución sobre cómo obtener la ruta estática real a un directorio. Puede ser que me esté perdiendo algo obvio, pero no puedo resolverlo en este momento.
el código (simplificado)
DocumentPicker.pickDirectory().then(pick => { // this looks something like: // file:///private/var/mobile/Containers/Shared/AppGroup/8443...EC/File%20Provider%20Storage/Downloads/ const pickedDirectory = pick.uri; // resolves to false: RNFS.exists(pickedDirectory) // does not work RNFS.downloadFile({ fromUrl: downloadUrl, toFile: pickedDirectory + filename, }).promise.then(r => { console.log(r) });O podemos optar por la solución dada en el siguiente enlace (usando react-native-fs ).
Reaccionar nativo No se puede usar la ruta del archivo tmp local para Image.source iOS
o tratar
Agregue copyTo:"documentDirectory" en las opciones de selección de documentos. Luego, en pickedDirectory.fileCopyUri obtendrá la ruta del documento.
Lo que sucede es que cuando elegimos cualquier elemento de la galería o del sistema de archivos de iOS, lo selecciona y lo coloca en un directorio temporal durante algún tiempo, luego se elimina automáticamente de ese directorio. Pruebe la solución anterior, creo que funcionará.