Giter VIP home page Giter VIP logo

react-upload-fork's Introduction

redux-file-upload Dependency Status

Motivation

There aren't any simple yet customizable file uploader packages that would work nicely with Redux. redux-file-upload is here to fill the gap!

Install

npm install --save redux-file-upload

Please note - a middleware that passes dispatch to actions, e.g. redux-thunk, redux-promise-middleware, is required for this package to work properly.

API

The package exposes the following:

  • actions - you can use these to implement your own custom logic if you need (e.g. add more dropzones for a single uploader). Check the source code to see what actions are available.
  • reducer - add this to your composed reducer.
  • FileUpload - the main component (see its API below).
  • UploadingDocument - an immutable record representing the way a generic document is represented in store.
  • UploadingImage - an immutable record representing the way an image is represented in store.

FileUpload API

Below are the props you can pass to the file upload component.

allowedFileTypes

An array with filetypes that can be uploaded using the file upload. There are several that will be recognized automatically as images (jpg, jpeg, png, gif, tiff).

className

The component will be wrapped in a div with this class.

data

Object with any additional data that will be sent along with the files to the endpoint.

dropzoneActiveStyle

Style used when user hovers over the dropzone.

dropzoneId (required)

Each file uploader on the package needs a unique ID. This value is also used as an identifier in the reducer unless the identifier prop is specified (see below).

identifier

If specified, uploaded files will be organized in the store using this value. Specifying the same value for multiple file upload components allows you to have multiple dropzones for the same file upload on one page.

multiple

Specifies whether the file upload allows more than one file being added at one time.

url (required)

The URL to which the files will be POSTed.

You can also pass something as children to the component (for example an upload button).

Example

import { FileUpload } from 'redux-file-upload'

<FileUpload
  allowedFileTypes={['jpg', 'pdf']}
  data={{ type: 'picture' }}
  dropzoneId="fileUpload"
  url="https:/url.org/api/docs/upload"
>
  <button>
    Click or drag here
  </button>
</FileUpload>

Browser compatibility

The component should work in all modern browsers including IE11+.

License

MIT 2016

Made with love by

react-upload-fork's People

Contributors

jakubkottnauer avatar alcedoatthis avatar ondrejbartas avatar gorillagorilla avatar janmarsicek avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.