express-sharp
express-sharp adds real-time image processing routes to your express application. Images are processed with sharp, a fast Node.js module for resizing images.
![Test Coverage](https://img.shields.io/coveralls/pmb0/express-sharp/master.svg)
Installation
$ npm install express-sharp --save
See sharp installation for additional installation instructions.
Usage
Example app.js:
'use strict';
var express = require('express');
var app = express();
var scale = require('express-sharp');
var options = {baseHost: 'mybasehost.com'};
app.use('/my-scale', scale(options));
app.listen(3000));
Render http://mybasehost.com/image.jpg
with 400x400 pixels:
GET /my-scale/resize/400?url=%2Fimage.jpg HTTP/1.1
Host: localhost:3000
--> invokes in background:
GET image.jpg HTTP/1.1
Host: mybasehost.com
Same as above, but with 80% quality, webp
image type and with progressive enabled:
GET /my-scale/resize/400?format=webp&quality=80&progressive=true&url=%2Fimage.jpg HTTP/1.1
Host: localhost:3000
Options
var scale = require('express-sharp');
app.use('/some-path', scale(options));
Supported options:
baseHost
Specify the HTTP base host from which images will be requested.
cors
Specify CORS options as described in cors docs. Example:
app.use('/some-path', scale({
cors: {
origin: 'http://example.com'
}
}));
If not specified, a Access-Control-Allow-Origin: *
header is being sent.
Path and query params
format
Output image format.
Default: output format of the requested image.
Valid values: every valid sharp output format string, i.e. jpeg
, gif
, webp
or raw
.
progressive
See sharp docs.
Use &progressive=true
to enable progressive scan.
quality
See sharp docs.
quality is a Number between 1 and 100.
url
URL/path to original image.
License
MIT