Uppy is (going to be) a cool JavaScript file uploader that fetches files for you from local disk, Google Drive, Dropbox, Instagram, remote URLs, cameras and other exciting locations, and then uploads them to wherever you want. Uppy is being developed by the Transloadit team because we want file uploading experience to be better — both for users and developers.
Check out uppy.io for docs, API, examples and stats.
- Lightweight / easy on dependencies
- Usable as a bundle straight from a CDN as well as a module to import
- Resumable file uploads via the open tus standard
- Uppy speaks multiple languages (i18n support)
- Works great with file encoding and processing backends, such as Transloadit
- Small core, modular plugin-based architecture.
- Cute as a puppy 🐶, also accepts cat pictures
It’s easy to start using Uppy, we recommend installing from npm with npm install uppy
and then:
import * as Uppy from 'uppy'
const uppy = new Uppy.Core({wait: false})
const files = uppy
.use(Uppy.plugins.DragDrop, {target: '#upload-target'})
.use(Uppy.plugins.Tus10, {endpoint: 'http://master.tus.io:8080/files/'})
.run()
But if you like, you can also use a pre-built bundle, in that case Uppy
will attach itself to the global window
object:
<script src="uppy.min.js"></script>
<script>
var uppy = new Uppy.Core({locales: Uppy.locales.ru_RU, debug: true})
uppy.use(Uppy.plugins.DragDrop, {target: '.UppyDragDrop'})
uppy.use(Uppy.plugins.Tus10, {endpoint: 'http://master.tus.io:3020/files/'})
uppy.run()
</script>
Note: we aim to support IE10+ and recent versions of Safari, Edge, Chrome, Firefox and Opera. IE6 on the chart above means we recommend setting Uppy to target a <form>
element, so when Uppy has not yet loaded or is not supported, upload still works. Even on the refrigerator browser. Or, yes, IE6.
- Contributor’s guide in
website/src/guide/contributing.md
- Architecture in
website/src/api/architecture.md
- Changelog to track our release progress (we aim to roll out a release every month):
CHANGELOG.md