Reactjs 如何下载到手机存储器?

Reactjs 如何下载到手机存储器?,reactjs,react-native,react-native-android,react-native-flatlist,Reactjs,React Native,React Native Android,React Native Flatlist,我正在使用rn fetch blob获取api并将文件直接下载到我的存储中,已经创建了一个路径,我现在可以成功下载它,但当我尝试打开文件时,它会显示:“无法打开文件” 以下是我的下载功能: download =async (item) => { console.log(item) const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.WRITE_E

我正在使用rn fetch blob获取api并将文件直接下载到我的存储中,已经创建了一个路径,我现在可以成功下载它,但当我尝试打开文件时,它会显示:“无法打开文件”

以下是我的下载功能:

    download =async (item) => {
    console.log(item)
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE
    )
    if (granted === PermissionsAndroid.RESULTS.GRANTED){
      let dirs = RNFetchBlob.fs.dirs;
      RNFetchBlob.config({
        fileCache: true,

        addAndroidDownloads : {
            useDownloadManager: true,
            notification : true,
            path: dirs.DownloadDir + "/Baaz_"+Math.random().toString().slice(2, 6) ,
            mime : 'application/mp4',
            mediaScannable : true,
        }
    })
.fetch('GET',  'some url'+item.nameVid,{ 'Cache-Control': 'no-store' }).then((res) => {

  alert('The file has saved!')
    console.log('The file saved to ', res.path())

})

    }
 }
我在下载图标的平面列表中调用了此函数,如下所示:

<TouchableOpacity
              onPress= {() => this.download(item)}
                style={{
                  alignItems: 'center',
                  borderRadius: 60,
                  padding: 10,
                }}>
                <Icon name="download" size={30} color="white" />
              </TouchableOpacity>
this.download(项目)}
风格={{
对齐项目:“居中”,
边界半径:60,
填充:10,
}}>
谁能告诉我为什么会这样? 我已经更新了依赖项并添加了权限。
如果您还需要什么,请告诉我。

在iOS上,它与android有些不同,您必须使用库旁边的东西

安装后,您可以像这样使用RNFetchBlob:

const saveFile=async(uri,头)=>{
const file=await RNFetchBlob.config({
文件缓存:true
}).fetch('GET',uri,headers);
常量类型='some/file type';
const base64File=wait file.readFile('base64');
const localUrl=`data:${type};base64,${base64File}`;
等待分享({
本地URL
});
const filePath=file.path();
等待RNFetchBlob.fs.unlink(filePath);

}
已经根据android更新了我的代码,可以下载文件,但是当我试图打开它时,它说无法打开文件,你能告诉我,为什么会这样吗?这可能是文件格式本身无法用android读取,它是什么类型的文件格式@TRINACHAUDHURI我建议就此提出另一个问题,因为它与下载本身无关。你可以检查我的新问题