React native 在react native中使用Apisout下载pdf文件

React native 在react native中使用Apisout下载pdf文件,react-native,apisauce,React Native,Apisauce,我正在使用Apisause处理基本的http请求,比如GET和POST,而且效果很好。现在我需要能够下载pdf文件了。用辣椒酱可以吗?如果有,有人有一些示例代码吗 我在谷歌上搜索过,但我没有任何线索,而且我是个新来的本地人 任何人都可以告诉我如何解决这个问题。我对Apisoup不太清楚,但是要从internet上的url下载pdf 我更喜欢使用这个包:,因为它比较稳定,并且有很好的文档 遵循以下步骤: 在终端(MAC/Linux)或命令提示符(Windows)中运行以下命令 纱线添加rn提取斑点

我正在使用Apisause处理基本的http请求,比如GET和POST,而且效果很好。现在我需要能够下载pdf文件了。用辣椒酱可以吗?如果有,有人有一些示例代码吗

我在谷歌上搜索过,但我没有任何线索,而且我是个新来的本地人


任何人都可以告诉我如何解决这个问题。

我对Apisoup不太清楚,但是要从internet上的url下载pdf

我更喜欢使用这个包:,因为它比较稳定,并且有很好的文档

遵循以下步骤:

  • 在终端(MAC/Linux)或命令提示符(Windows)中运行以下命令
  • 纱线添加rn提取斑点

  • 如果使用cocoapod,请将该pod添加到您的pod文件中
  • pod'rn fetch blob',:path=>'../node_modules/rn fetch blob'

  • 将包导入.js.tsx文件中
  • 在下载功能中添加以下代码,并在按下下载按钮时调用该功能
  • if(Platform.OS===“android”)==>

    if(Platform.OS=='ios')

    就这些了。 如果您觉得我的解决方案有趣,请向上投票。
    将我的解决方案标记为已接受的答案,它解决了问题。

    您是否使用GET/POST请求成功获取PDF链接?谢谢您的回复。我已经修好了另一条路@Gavin D'Mellow我可以对我的解决方案投赞成票吗,因为我认为它是有效的,并且可以下载文件@SarathiAshokSure@Gavin D'mello
            RNFetchBlob.config({
              fileCache: false,
              addAndroidDownloads: {
                useDownloadManager: true,
                notification: true,
                mime: 'application/pdf',
                path:
                  `/storage/emulated/0/Download/${file_name}.pdf`,
              },
            })
              .fetch('GET', api, {'Cache-Control': 'no-store'})
              .then((res) => {})
              .catch((errorMessage, statusCode) => {}); 
        
    
          const {
            dirs: {DownloadDir, DocumentDir},
          } = RNFetchBlob.fs;
          const fPath = `${DocumentDir}/${file_name}.pdf`;
          RNFetchBlob.config({
            fileCache: true,
            path: fPath,
            notification: true,
            appendExt: 'pdf',
          })
            .fetch('GET', api, {
              Authorization: 'Token ' + token,
            })
            .then(async (resp) => {
              RNFetchBlob.fs.writeFile(fPath, resp.data, 'base64');
              RNFetchBlob.ios.previewDocument(fPath);
            });