Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native RNFetchBlob.fs.mkdir成功执行,但未执行';不创建目录_React Native_Mkdir_Rn Fetch Blob - Fatal编程技术网

React native RNFetchBlob.fs.mkdir成功执行,但未执行';不创建目录

React native RNFetchBlob.fs.mkdir成功执行,但未执行';不创建目录,react-native,mkdir,rn-fetch-blob,React Native,Mkdir,Rn Fetch Blob,我正在尝试使用RNFetcBlob在下载文件夹中创建目录不会抛出任何错误,但不会创建文件夹…. 这是我正在使用的方法 async createAppDir() { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE ); if (granted === Permissi

我正在尝试使用RNFetcBlob在下载文件夹中创建目录不会抛出任何错误,但不会创建文件夹….

这是我正在使用的方法

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)})
                        }
                    }
                );
        }
    }

我在AndroidManifest.xml中添加了权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
试试这个

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)})
        }
    }
}

我在android/bundle.gradle文件中更改了以下版本,它开始工作

更改为以下版本

buildToolsVersion = "29.0.2"
minSdkVersion = 16
compileSdkVersion = 29
targetSdkVersion = 29


我尝试了你的代码,它甚至没有输入if条件if(isgrated==PermissionsAndroid.RESULTS.grated){…..我必须将它更改为if(isgrated){并运行它…..这次它输入了if条件,但没有创建文件夹…..它打印了“App directory created…”但在下载文件夹中选中时,我看不到文件夹。。。。
buildToolsVersion = "29.0.2"
minSdkVersion = 16
compileSdkVersion = 29
targetSdkVersion = 29
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28