J'essaie d'ajouter une fonctionnalité à mon application RN qui permettra aux utilisateurs de créer un nouveau répertoire dans le système de fichiers de leur téléphone.
J'ai essayé d'écrire le code pour que la fonction crée un répertoire dans le chemin / storage / emulated / 0 / AppName / NewFolder, puisque / storage / emulated / 0 est le même chemin que celui utilisé par d'autres applications que j'utilise pour stocker les données utilisateur (telles que les applications d'enregistrement)
makeDirectory = () => {
const { currentFolder, units } = this.props;
const directoryName = 'New Folder'
const currentDirectory = units
const absolutePath = `/storage/emulated/0/MyApp/${currentDirectory}`
RNFS.mkdir(absolutePath)
.then((result) => {
console.log('result', result)
})
.catch((err) => {
console.warn('err', err)
})
}
3 Réponses :
Je viens d'essayer et mon dossier a été créé avec succès.
utilisez
const absolutePath = `/storage/emulated/0/MyApp/${currentDirectory}`
à la place
const absolutePath = `/storage/emulated/0/${currentDirectory}`
const AppFolder = 'DirNameyouwant'; const DirectoryPath= RNFS.ExternalStorageDirectoryPath +'/'+ AppFolder; RNFS.mkdir(DirectoryPath);
Bien que votre code puisse répondre à la question, il est souvent utile d'inclure une explication.
Vous devez demander l'autorisation à l'utilisateur d'accéder à la mémoire de son téléphone.
Voir ce commentaire de Lylest sur < a href = "https://github.com/itinance/react-native-fs/issues/677" rel = "nofollow noreferrer"> ce problème signalé depuis GitHub