Rn-fetch-blob Download !!exclusive!! File Example
import RNFetchBlob from 'rn-fetch-blob'; const downloadFile = () => { const { config, fs } = RNFetchBlob; const date = new Date(); const fileDir = fs.dirs.DownloadDir; // Android download directory config({ // addAndroidDownloads is specific to Android to show progress in notification bar addAndroidDownloads: { useDownloadManager: true, notification: true, path: `${fileDir}/me_photo_${Math.floor(date.getTime() + date.getSeconds() / 2)}.mag`, description: 'Downloading image.', }, }) .fetch('GET', 'https://example.com') .then((res) => { // On iOS, the file is downloaded to a temporary path console.log('The file saved to: ', res.path()); alert('Download complete!'); }) .catch((errorMessage, statusCode) => { console.error(errorMessage); }); }; Use code with caution. 3. Key Features to Know A. Handling Progress
To save files to the gallery or public folders, add these to your AndroidManifest.xml :
Whether you're generating reports or letting users save media, rn-fetch-blob provides the bridge between network requests and the device's file system. Use the config method for easy Android integration and the fs module for granular control over where your data lives. rn-fetch-blob download file example
Despite being an older library, it remains a staple for file management in the React Native ecosystem. Here is a practical guide on how to implement a "Download File" feature. 1. Installation & Setup First, add the package to your project: npm i rn-fetch-blob # or yarn add rn-fetch-blob Use code with caution.
fs.dirs.DownloadDir : Public downloads folder (Android only). C. Opening the File Immediately Handling Progress To save files to the gallery
RNFetchBlob.fetch('GET', 'https://example.com') .progress((received, total) => { console.log('progress', received / total); }) .then((res) => { /* ... */ }); Use code with caution. B. Using the File System ( fs )
The fs module is incredibly powerful. You can check if a file exists, move files, or even convert files to Base64 strings. fs.dirs.DocumentDir : Private app folder (best for iOS). Here is a practical guide on how to
Note: If you are on iOS, don't forget to run cd ios && pod install . Android Permissions
Use code with caution. 2. Basic Download Example