如何从React Native Fetch Blob访问下载的文件?

时间:2020-08-10 02:17:40

标签: react-native react-native-android react-native-fetch-blob

我想知道如何在React Native中访问我的Android下载文件。

这是我的代码:

import RNFetchBlob from 'rn-fetch-blob';
...

let response = await RNFetchBlob.config({ trusty: validateCertificate, fileCache: true, appendExt: 'zip' }).fetch('GET', ...)
                        .progress((received, total) => { console.log('progress', received / total) })
                        .then((res) => { source = res.path(); console.log('The file saved to ', res.path()) })
                        .catch(async (error) => { console.error(error); });
                console.log("this is source path: " + source);

                target = source.substring(0, source.lastIndexOf("/") + 1) + 'all_lists';
                console.log('this is target folder: ' + target);


                //Creates a folder called all_lists
                RNFetchBlob.fs
                        .mkdir(target)
                        .catch((err) => { console.log(err); });

控制台记录我的数据所在的文件夹是“ /data/user/0/com.test/files/all_lists”。

但是,在“ /data/usr/0/com.test/files”之后,我在Android模拟器设备中找不到任何文件,而且我不知道如何访问计算机上的该文件夹。

我希望有人能帮助我!非常感谢

1 个答案:

答案 0 :(得分:1)

“ / data / user / 0 / com.test / files / all_lists”是内部存储器中的文件夹。这意味着除非具有root用户访问权限,否则无法在文件浏览器中打开它。

如果您不想在不扎根手机的情况下查看它们,建议您将文件保存在外部存储中。 RNFetchBlob具有映射到某些可能对此有用的文件夹的常量。

https://github.com/joltup/rn-fetch-blob/wiki/File-System-Access-API#dirs