无法使用react-native-fetch-blob下载大文件(80mb zip)

时间:2018-12-11 16:05:17

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

RNFetchBlob
    .config({
          addAndroidDownloads: {
               useDownloadManager: true,
               //changes here
               path: RNFetchBlob.fs.dirs.SDCardApplicationDir + '/build_change_philippines.zip',
                description: 'Images Zip',
                mediaScannable: true
           }
     })
     .fetch('GET', 'http://bccms.naxa.com.np/core/project-material-photos/1')
     .then((resp) => {
          const sourcePath = resp.path();
          const targetPath = resp.path().replace('.zip', '');
          unzip(sourcePath, targetPath)
              .then((path) => {
                  console.log(`unzip completed at ${path}`);
              })
              .catch((error) => {
                  console.log(error);
              });
      });

对于代码段上方的大文件大小(超过80兆字节),将开始下载,但显示无标题,并且没有进度,然后显示未成功。下载会再次自动开始,并且循环继续进行。但是相同的代码可以轻松下载小的zip文件。

1 个答案:

答案 0 :(得分:0)

然后您需要设置连接超时。

向服务器发出请求时:服务器需要XXX秒才能响应甚至收到请求(在创建zip ...时)。如果未配置此选项,则客户端将假定服务器从未获得响应,而是自行关闭。

尝试添加:

"timeout": 60000

获取请求。