43

AndroidおよびiOS用のReact Nativeでアプリを構築しています。ボタンをクリックすると、ユーザーが PDF ファイルをダウンロードできるようにしようとしています。

  • react-native-file-downloadは Android をサポートしていません
  • downloadFile をトリガーしてもreact-native-fsは何も実行せず (通知バーに何も表示されません)、その後ファイルを見つけることができません。android.permission.WRITE_EXTERNAL_STORAGEAndroid マニフェスト ファイルに追加しました。ダウンロードしようとしているファイルが存在することを再確認しました (存在しない場合、ライブラリはエラーをスローします)。

この問題の他の解決策は見つかりません。PDF を表示するためのライブラリを見つけましたが、ユーザーに PDF をダウンロードしてもらいたいです。

4

5 に答える 5

51

1時間前にダウンロード機能を実装しました:p

次の手順を実行します:

a) npm install rn-fetch-blob

b) インストール手順に従います。

b2) rnpm を使用せずにパッケージを手動でインストールする場合は、そのwikiにアクセスしてください。

c) 最後に、アプリ内でファイルをダウンロードできるようにしました。

const { config, fs } = RNFetchBlob
let PictureDir = fs.dirs.PictureDir // this is the pictures directory. You can check the available directories in the wiki.
let options = {
  fileCache: true,
  addAndroidDownloads : {
    useDownloadManager : true, // setting it to true will use the device's native download manager and will be shown in the notification bar.
    notification : false,
    path:  PictureDir + "/me_"+Math.floor(date.getTime() + date.getSeconds() / 2), // this is the path where your downloaded file will live in
    description : 'Downloading image.'
  }
}
config(options).fetch('GET', "http://www.example.com/example.pdf").then((res) => {
  // do some magic here
})
于 2017-06-14T13:56:04.143 に答える