README.md

March 4, 2023 · View on GitHub

Uppload

Uppload is a better JavaScript image uploader. It's highly customizable with 30+ plugins, completely free and open-source, and can be used with any file uploading backend.

“This might just be the easiest way to let your users upload content to your site ☁️✨” — Product Hunt

Status
BuildGitHub Actions Travis CI Azure Pipelines
DependenciesDependencies Dev dependencies Vulnerabilities FOSSA Status
DocumentationNetlify Website status Uptime Type definitions Articles
CommunityContributors Code maintainability Codacy grade Product Hunt #1 of the day
Packagenpm package version npm downloads GitHub Languages semantic-release

View Uppload demo and docs →

⭐ Features

Screenshot of Uppload home Screenshot of local service
Screenshot of Unsplash service Screenshot of filter effects
Screenshot of GIPHY service Screenshot of Instagram effects

🛠 Getting started

First, install Uppload using your package manager:

npm install uppload

Then, add styles, import Uppload and an uploader along with your language of choice and initialize the class:

import { Uppload, en, xhrUploader } from "uppload";
import "uppload/dist/uppload.css";
import "uppload/dist/themes/light.css";

const profilePicture = new Uppload({
  value: "https://via.placeholder.com/150",
  bind: ".uppload-image",
  call: ".uppload-button",
  lang: en,
  uploader: xhrUploader({
    endpoint: "https://example.com/upload"
  });
});

Finally, choose which services (ways to select a file), effects (ways to manipulate a file), and uploaders (ways to send the file to a server) you want. Then, import these classes and use the Uppload.use() function to create your package:

import { Uppload, en, Local, Unsplash, Crop, Brightness } from "uppload";

profilePicture.use([
  new Local(), // Select file from computer
  new Unsplash("your API key"), // Search and import from Unsplash
  new Crop({ aspectRatio: 16 / 9 }), // Let users crop image to 16:9
  new Brightness(), // Let users apply image filters
]);

💻 Usage Docs

View Uppload docs →

ℹ️ Support

If you need help with using Uppload, check out the Getting started guide and the documentation. If you found a bug or have a feature request, open an issue. If you want to contribute to Uppload, read our Contributing guide.

Your organization can also request a custom build or get professional support. Request a quote for free →

👥 Contributors

Uppload is built by El Niño, a digital development studio in Enschede, the Netherlands, that builds custom web and mobile apps, webstores, and more, backed by 14+ years of experience.

We'd like to thank these wonderful people and teams for contributing (emoji key):

El Niño
El Niño

💼 💵 🚇 📆
Anand Chowdhary
Anand Chowdhary

🐛 💻 📖
Teun Lassche
Teun Lassche

🐛 💻 🛡️
Victor
Victor

💻 🌍 📖
Rick van Gemert
Rick van Gemert

🐛 💻
tomtenvoorde
tomtenvoorde

🎨
Matt
Matt

🐛 💻
Rob
Rob

🐛
Mihir Chaturvedi
Mihir Chaturvedi

📖
Kevin Marrec
Kevin Marrec

📖
Jordan Kniest
Jordan Kniest

🌍
Bram Borggreve
Bram Borggreve

💻 📦
Alex Imbrea
Alex Imbrea

📖
Achim Krämer
Achim Krämer

🌍
Nikhil Sahukar
Nikhil Sahukar

🎨
Rohit Bhatia
Rohit Bhatia

🐛
Zeke Nierenberg
Zeke Nierenberg

🐛 💻
Brian Teeman
Brian Teeman

🌍
Dmitry Ivakhnenko
Dmitry Ivakhnenko

🌍
Orion Lu
Orion Lu

🌍
Nisar Hassan Naqvi
Nisar Hassan Naqvi

📖
Daan
Daan

🌍
SIGMA Technology
SIGMA Technology

🐛
Claudio Eyzaguirre
Claudio Eyzaguirre

🌍
Netlify
Netlify

🚇
Cristiano AP
Cristiano AP

🌍
Richard
Richard

🐛 💻
MaximusBaton
MaximusBaton

🐛
Quinn (they/them)
Quinn (they/them)

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

📄 License