0

我正在尝试使用rn-fetch-blob库下载图像,但它没有从我的服务器下载。相同的代码在 android 上运行良好,但在 iOS 上却不行。我也在使用相机胶卷将图像保存在图库中,但它抛出了错误Could not find image。我究竟做错了什么?

下载代码

   function DownloadImage(url,id){
    let imgUrl = url;

    let newImgUri = imgUrl.lastIndexOf('/');
    let imageName = imgUrl.substring(newImgUri);
    let dirs = RNFetchBlob.fs.dirs;
    let path = Platform.OS === 'ios' ? dirs['DownloadDir'] + imageName : dirs.PictureDir + imageName;   
        RNFetchBlob.config({
          fileCache: true,
          appendExt: 'png',
          path: path,
    
        }).fetch("GET", imgUrl).then(res => {
         CameraRoll.save(res.path()).then(()=>{
            }).catch((ex)=>{
                alert("Error="+ex);
            });
        }).catch(error=>{
            obj.loadingflag=false;
            alert(error);
        });
        
   }
4

1 回答 1

0

在IOS上遇到了同样的问题。解决方案是响应你必须这样做

.then(resp => {
      // console.log(resp);
      if (Platform.OS === "ios") {
        RNFetchBlob.ios.openDocument(resp.data);
      }
    })

你可以参考我的答案堆栈溢出响应

于 2021-04-21T10:18:50.470 回答