Sleek, modular open source JavaScript file uploader

SME Uploader fetches files locally and from remote places like Dropbox or Instagram.
TODO: add video
$ npm install @sme-uploader/core @sme-uploader/dashboard @sme-uploader/tus
/*
Here the code is for example only and does not correspond
to the functionality from "Live Demo".
*/

import SmeUploader from '@sme-uploader/core';
import Dashboard from '@sme-uploader/dashboard';
import Tus from '@sme-uploader/tus';

SmeUploader()
  .use(Dashboard, {
    trigger: '#select-files',
    showProgressDetails: true
  })
  .use(Tus, { endpoint: 'https://master.tus.io/files/' }) // use your tus endpoint here
  .on('complete', (result) => {
    console.log('Upload result:', result);
  });

Features

  • Lightweight and modular, plugin-based architecture, easy on dependencies.
  • Uses no frameworks (such as extjs or angular).
  • On the back end, only a configurable binary executable listens on a port, and redirects the upload chunks to an AWS S3 bucket.
  • Large uploads survive network hiccups thanks to resumable file uploads via the open tus standard.
  • Sleek user interface.
  • A user can pause an upload (for example, if they are about to go offline), and resume later.
  • Works great with the file encoding and processing backend from Grafana, but also works great without.
  • Speaks multiple languages (i18n).
  • Built with accessibility in mind.