Upload files in React Native apps with background support for both Android and iOS, including camera roll assets.
react-native-background-upload is a React Native library that enables reliable file uploads in mobile apps, with the unique ability to continue uploading when the app is backgrounded or closed. It solves the problem of interrupted uploads for large files like videos, ensuring data transfer completes regardless of user actions.
React Native developers building apps that require robust file upload capabilities, especially those handling media files (videos, images) where uploads may take significant time.
It is the only React Native upload library with true background support for both Android and iOS, offering seamless upload continuity, cross-platform consistency, and detailed upload event tracking.
Upload files in your React Native app even while it's backgrounded. Supports Android and iOS, including camera roll assets.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables uploads to continue when the app is minimized or closed on both iOS and Android, solving the critical issue of interrupted large file transfers as stated in the README.
Provides full support for Android and iOS, including camera roll assets on iOS, ensuring reliable uploads across platforms without platform-specific code.
Offers real-time listeners for progress, completion, error, and cancellation events, allowing fine-grained upload monitoring and user feedback.
Includes configurable notifications and built-in retry logic for failed uploads on Android, enhancing reliability and user experience on that platform.
Requires detaching from Expo and manual native configuration, as per the installation notes, making it unsuitable for developers wanting a pure-JavaScript solution.
As admitted in the FAQ, it only supports one file per upload request, limiting its use for apps needing batch uploads in a single HTTP call.
Has breaking changes between major versions (e.g., v3 vs. v4 for RN compatibility) and requires specific Android SDK versions and ProGuard configurations, adding to maintenance overhead.