Cj Upload screenshot

Cj Upload

Author Avatar Theme by Kimmelsg
Updated: 4 Jun 2019
580 Stars

Higher order React components for file uploading (with progress) react file upload

Overview

The React components for file uploads offer an elegant solution for anyone looking to integrate file uploading capabilities into their applications. The ability to turn virtually any component into a file upload dialog with the help of the <UploadField/> component is a game-changer, providing developers with unparalleled styling control and flexibility. With upcoming updates promising a simplified API and revamped test suite, this library is set to enhance the way files are handled in React apps.

For those needing more than just a basic upload function, the addition of components like <Uploader/> and <SignedUploader/> facilitates not only file selection but also provides real-time upload progress tracking. This is particularly useful for developers aiming to create a seamless user experience when dealing with file uploads.

Features

  • Flexible Upload Dialog: Any component can be wrapped with <UploadField/> to create a customizable file upload dialog, allowing complete styling control.

  • Real-time Progress Tracking: The <Uploader/> component integrates with the <UploadField/> to track and display the upload progress seamlessly.

  • Zero Dependencies: This library has no dependencies except for React, ensuring a lightweight integration into your project.

  • Easy Signing for Cloud Services: The <SignedUploader/> component helps in generating signed URLs for services like AWS or Google Cloud, easing the backend complexity of file uploads.

  • Imperative API Support: The components provide an imperative API for triggering file uploads and tracking progress, even from outside React environments.

  • User-friendly API: Simple and intuitive API design makes it easy to pass in headers and extra fields while managing uploads.

  • Comprehensive Documentation: With examples available in the storybook, users can easily understand and implement the components in their projects.

  • Open Source: Licensed under MIT, this project is open for contributions and modifications, fostering community-driven improvements.