react-native - RNFetchBlob.fs.mkdir executes successfully but doesn't create directory
问题描述
I am trying to create directory in Downloads folder using RNFetcBlob. It doesn't throw any error but folder doesn't get created....
This is the method I am using...
async createAppDir() {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
RNFetchBlob.fs.exists(GlobalVars.APPDIR)
.then((res) =>
{
if (!res) {
console.log("Creating App directory...", GlobalVars.APPDIR)
RNFetchBlob.fs.mkdir(GlobalVars.APPDIR)
.then((res) => {console.log("App directory created..")})
.catch((err) => {console.log(err)})
}
}
);
}
}
I have added permissions in AndroidManifest.xml..
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Console logs....
[Sat Jul 25 2020 10:16:30.966] LOG Creating App directory... /storage/emulated/0/Download/gifit/
[Sat Jul 25 2020 10:16:30.967] LOG App directory created..
解决方案
尝试这个
async createAppDir() {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE
);
const isGranted = granted === PermissionsAndroid.RESULTS.GRANTED || granted === true;
if (isGranted === PermissionsAndroid.RESULTS.GRANTED) {
const assetsDirExists = await RNFetchBlob.fs.isDir(GlobalVars.APPDIR);
if(!assetsDirExists) {
RNFetchBlob.fs.mkdir(GlobalVars.APPDIR)
.then((res) => {console.log("App directory created..")})
.catch((err) => {console.log(err)})
}
}
}
推荐阅读
- python - 如何计算按两列分组的数据框中的百分比
- asp.net - ASP.NET 在哪里存储除 web.config 之外的程序集引用?
- javascript - 除非指定服务器值,否则 Apollo GraphQL 客户端解析器无法解析
- cryptography - 如何检测 loop-aes 加密磁盘/分区
- spring - 基于 Spring MVC 的应用程序在尝试使用 https url 访问它时没有登陆到默认成功 url,但在基于 http 的 url 上工作正常
- java - 如何在 Android Studio 中使用导入的 .so 库代码?
- sql - 如何在 Oracle 中以同一列的两种类型聚合为中心?
- apache-spark - 为什么 spark 任务看起来像按顺序运行
- r - 在 rmarkdown 中创建模板
- laravel - 如何修复“PHP Parse 错误:语法错误,第 156 行 /var/www/.../vendor/laravel/RoutesRequests.php 中的意外 '='”