#android #react-native #filesystems #rn-fetch-blob
#Android #react-native #файловые системы #rn-fetch-blob
Вопрос:
У меня есть следующий код для отсоединения / удаления файла из папки загрузок, которую я создал также через приложение, используя тот же путь.
Обратите внимание, что я использую пакет RNFetchBlob.
---
const fs = RNFetchBlob.fs
const base64 = RNFetchBlob.base64
const dirs = RNFetchBlob.fs.dirs
RNFetchBlob.fs
.unlink(dirs.DownloadDir '/passpoint.config.xml')
.then(() => {
alert("File deleted");
})
.catch(err => {
alert(err);
});
---
Я продолжаю получать следующую ошибку;
[Error: Failed to delete '/storage/emulated/0/Download/passpoint.config.xml']
Я подумал, что это может быть путь, но это тот же путь, который я использовал для создания файла, и я могу просмотреть файл через проводник на Android.
Решение
fs.unlink(dirs.DownloadDir '/passpoint.config.xml');
Ответ №1:
Используйте MANAGE_EXTERNAL_STORAGE
разрешение как быстрое решение (редактировать AndroidManifiest.xml
)
https://developer.android.com/training/data-storage/manage-all-files
Или используйте более продвинутые методы:
https://developer.android.com/training/data-storage/shared/media
https://developer.android.com/training/data-storage/shared/documents-files
Ответ №2:
Просто добавьте android:requestLegacyExternalStorage="true"
в AndroidManifiest.xml файл
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:requestLegacyExternalStorage="true">