ImageCompressor is an Uppy file uploader plugin, that compresses images before upload, saving bandwidth.
ImageCompressor uses Compressor.js, and the compression is lossy. From Compressor.js readme:
JavaScript image compressor. Uses the Browser's native canvas.toBlob API to do the compression work, which means it is lossy compression. General use this to precompress a client image file before upload it.
Uppy is being developed by the folks at Transloadit, a versatile file encoding service.
const Uppy = require('@uppy/core')
const ImageCompressor = require('uppy-plugin-image-compressor')
const uppy = Uppy()
uppy.use(ImageCompressor, {
// Options from Compressor.js https://github.com/fengyuanchen/compressorjs#options, just don’t set `success` or `error`
})
$ npm install uppy-plugin-image-compressor --save