All Projects → uploadcare → Uploadcare Widget

uploadcare / Uploadcare Widget

Licence: bsd-2-clause
Uploadcare Widget, an ultimate tool for HTML5 file upload supporting multiple file upload, drag&drop, validation by file size/file extension/MIME file type, progress bar for file uploads, image preview.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Uploadcare Widget

Angular File Uploader
Angular file uploader is an Angular 2/4/5/6/7/8/9/10 + file uploader module with Real-Time Progress Bar, Responsive design, Angular Universal Compatibility, localization and multiple themes which includes Drag and Drop and much more.
Stars: ✭ 92 (-49.73%)
Mutual labels:  image, upload, file, file-upload, uploader
Chibisafe
Blazing fast file uploader and awesome bunker written in node! 🚀
Stars: ✭ 657 (+259.02%)
Mutual labels:  files, upload, file, file-upload, uploader
Pomf
Simple file uploading and sharing
Stars: ✭ 535 (+192.35%)
Mutual labels:  files, upload, file, file-upload
React Files
A file input (dropzone) management component for React
Stars: ✭ 126 (-31.15%)
Mutual labels:  files, image, upload, file
Uppload
📁 JavaScript image uploader and editor, no backend required
Stars: ✭ 1,673 (+814.21%)
Mutual labels:  image, widget, file-upload, uploader
lolisafe
Blazing fast file uploader and awesome bunker written in node! 🚀
Stars: ✭ 181 (-1.09%)
Mutual labels:  files, upload, file-upload, uploader
React Images Uploading
The simple images uploader applied Render Props pattern that allows you to fully control UI component and behaviors.
Stars: ✭ 80 (-56.28%)
Mutual labels:  image, images, upload, uploader
Cj Upload
Higher order React components for file uploading (with progress) react file upload
Stars: ✭ 589 (+221.86%)
Mutual labels:  upload, file, file-upload
React Uploady
Modern file uploading - components & hooks for React
Stars: ✭ 372 (+103.28%)
Mutual labels:  files, upload, file-upload
Aetherupload Laravel
A Laravel package to upload large files 上传大文件的Laravel扩展包
Stars: ✭ 835 (+356.28%)
Mutual labels:  files, upload, file
Fileup
FileUp - JQuery File Upload
Stars: ✭ 10 (-94.54%)
Mutual labels:  upload, file, file-upload
Uploader
A lightweight and very configurable jQuery plugin for file uploading using ajax(a sync); includes support for queues, progress tracking and drag and drop.
Stars: ✭ 1,042 (+469.4%)
Mutual labels:  upload, file, widget
Droply Js
Droply JS, a new responsive and cross browser chunk uploader with DragDrop and File Preview capabilities (HTML5/CSS3)
Stars: ✭ 50 (-72.68%)
Mutual labels:  upload, file, uploader
Filegator
Powerful Multi-User File Manager
Stars: ✭ 587 (+220.77%)
Mutual labels:  files, file, uploader
Miniflix
Miniflix - A smaller version of Netflix powered by Cloudinary
Stars: ✭ 58 (-68.31%)
Mutual labels:  image, upload, widget
Dropit
DropIt is a File Uploader built with nodejs, Upload, get a link, and share your files with anyone easily.
Stars: ✭ 367 (+100.55%)
Mutual labels:  file, file-upload, uploader
Express Fileupload
Simple express file upload middleware that wraps around busboy
Stars: ✭ 1,069 (+484.15%)
Mutual labels:  files, upload, file-upload
Laravel Simple Uploader
Simple file uploader for Laravel 5.
Stars: ✭ 59 (-67.76%)
Mutual labels:  upload, file, uploader
ShareX-CDN
Basic image, text & file uploader CDN for ShareX
Stars: ✭ 22 (-87.98%)
Mutual labels:  upload, file, uploader
File Upload With Preview
🖼 A simple file-upload utility that shows a preview of the uploaded image. Written in pure JavaScript. No dependencies. Works well with Bootstrap 4 or without a framework.
Stars: ✭ 352 (+92.35%)
Mutual labels:  image, upload, file

Uploadcare Widget

Uploadcare Widget is an HTML5 file uploader, a part of the Uploadcare file handling platform.

NPM version Build Status Uploadcare stack on StackShare

Uploads affect your web or mobile app performance. The widget ensures you integrate file uploading into your product in minutes, no matter the development stack.

The widget features:

  • Drag&Drop selection.
  • Over a dozen upload sources including social media and cloud storage providers.
  • Multiple file upload with individual progress bars.
  • File moderation through validation by file size, extension or MIME type.
  • Image preview and image crop.
  • Libraries and integrations for JavaScript, PHP, Python, Java, Django, Ruby on Rails, Angular, and more.
  • 20+ languages, learn more.

We provide the file uploader as a typical JavaScript library; it can be easily embedded in your site.

Using the older 2.x version? Check out the stuff under the v2 tag.

Widget in action

Docs

See the complete widget docs here. If you're looking for the widget v2 docs, check out here.

Quick references

Types of bundles

There are a few types of JS bundles:

  • uploadcare.full.js — a full bundle with built-in jQuery.
  • uploadcare.js — a bundle without built-in jQuery.
  • uploadcare.api.js — a bundle without UI of the widget and built-in jQuery JavaScript API only.
  • uploadcare.lang.en.js — a bundle without built-in jQuery, en locale only.

Each bundle has its minified version. Just add .min before .js, e.g. uploadcare.min.js.

By default, uploadcare.js is exported for npm and other package managers.

Install

You’re free to choose from the install methods listed below.

NPM

npm install uploadcare-widget
import uploadcare from 'uploadcare-widget'

CDN

Embed our client library via the <script> tag in the <head> section of each page where you’d like to use Uploadcare Widget. Here is the CDN link to the current widget version with built-in jQuery,

<script src="https://ucarecdn.com/libs/widget/3.x/uploadcare.full.min.js" charset="utf-8"></script>

Or, if you’re already using jQuery on your page, consider loading the light version of the widget: without built-in jQuery,

<script src="https://code.jquery.com/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="https://ucarecdn.com/libs/widget/3.x/uploadcare.min.js" charset="utf-8"></script>

Other install methods

Check out the widget docs for more install methods.

Usage

Once you’re done with the install, there are two simple steps to take to use the widget.

Set your public key. This can also sit in the <head> section,

<script>
  UPLOADCARE_PUBLIC_KEY = 'YOUR_PUBLIC_KEY';
</script>

Your secret key is not required for the widget; (it’s quite careless for your page to include any secret keys anyway.

Insert widget element into your form,

<input type="hidden" role="uploadcare-uploader" name="my_file" />

By default, the library looks for inputs with the specified role attribute and places widgets there. Once a file is uploaded, this <input> gets a CDN link with a file UUID. Your server then receives this link, not file content.

We suggest placing the widget somewhere at the top of your form. Unlike regular inputs, our widget starts uploading files immediately after they get selected by a user, not on form submission. That way users can fill out the rest of your form while an upload is in progress. This can be a real time saver.

Usage with React

Check out our React component for Uploadcare Widget.

Usage with Angular

Check out our Angular 2+ wrapper for Uploadcare Widget.

angular-uploadcare can be used with Angular 1.

Configuration

The widget is highly customizable with widget options. Check out the existing options and ways to set them in UC docs.

JavaScript API

You might not want to use all the features that our widget exhibits. Or, perhaps, you might want to redesign the user experience without having to reinvent the wheel. Maybe, you're in pursuit of building a UI on top of the widget. For all of those use cases, we provide a JavaScript API. Feel free to control the default widget with it, or make use of its standalone components that can be combined with your solutions.

UploadClient

If you want to use Upload API directly and don't need a widget, try upload-client — a 7.3 kB JS library for uploading files.

Localization

It’s possible that your locale is not available in the widget yet. If that’s the case, contributing your locale might be a good idea. This can be done by forking the main repository and adding a localization file here.

Until that you can use UPLOADCARE_LOCALE_TRANSLATIONS property to use your locale immediately.

Browser Support

The widget should work perfectly in a couple of the latest versions of major desktop browsers: Internet Explorer, Edge, Firefox, Google Chrome, Safari, and Opera. It is most likely to run well in older versions of major browser too, except for Internet Explorer < 10.

If you need the support for older browsers including IE8, consider using the widget v2 instead.

Desktop Mobile
Chrome: 37+ Android Browser: 4.4+
Firefox: 32+ Opera Mobile: 8+
Safari: 9+ iOS Safari: 9+
Edge: 12+ IE Mobile: 11+
IE: 10+ Opera Mini: Last

Development

Check out the Uploadcare Widget development guide.

Security issues

If you think you ran into something in Uploadcare libraries which might have security implications, please hit us up at [email protected] or Hackerone.

We'll contact you personally in a short time to fix an issue through co-op and prior to any public disclosure.

Feedback

Issues and PRs are welcome. You can provide your feedback or drop us a support request at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].