@adeoweb/express-sharp 中文文档教程

发布于 5年前 浏览 2 项目主页 更新于 3年前

express-sharp

express-sharp 为您的 express 应用程序添加实时图像处理路由。 图像使用 sharp 处理,这是一个用于调整图像大小的快速 Node.js 模块。

构建状态Test Coverage

Installation

$ yarn add express-sharp
$ npm install express-sharp --save

有关其他安装说明,请参阅锐化安装

Usage

示例 app.js

'use strict'

const express = require('express')
const app = express()
const scale = require('express-sharp')

const options = {baseHost: 'mybasehost.com'}
app.use('/my-scale', scale(options))

app.listen(3000)

使用 400x400 像素渲染 http://mybasehost.com/image.jpg

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

与上面相同,但质量为 80%,webp< /code> 图像类型并启用渐进式:

GET /my-scale/resize/400?format=webp&quality=80&progressive=true&url=%2Fimage.jpg HTTP/1.1
Host: localhost:3000

Options

const scale = require('express-sharp')
app.use('/some-path', scale(options))

支持的选项:

baseHost

指定将从中请求图像的 HTTP 基本主机。

cropMaxSize

允许裁剪图像的最大长度(以像素为单位)(宽度或高度)。 注意:如果这个值太高,攻击者可以使用它来减慢你的服务器。 默认为 2000

cors

指定 CORS 选项,如 cors 文档 中所述。 示例:

app.use('/some-path', scale({
  cors: {
    origin: 'http://example.com'
  }
}))

如果未指定,则发送 Access-Control-Allow-Origin: * 标头。

Path and query params

format

输出图像格式。

默认值:webp 如果支持,则请求图像的输出格式。

有效值:每个有效的锐化输出格式字符串,即jpeggifwebpraw

progressive

仅适用于 jpeg 和 png 格式:

请参阅 jpeg 的清晰文档

请参阅 png 的清晰文档

使用 &progressive=true 启用逐行扫描。

quality

请参阅 sharp 文档

质量是 1 到 100 之间的一个数字。

crop

请参阅 sharp 文档

使用 &crop=true 启用锐利裁剪功能。

默认为“假”。

注意:widthheight 参数都是作物工作所必需的。

gravity

请参阅 sharp 文档

当裁剪选项被激活时,您可以指定裁剪的重力。

可选的 gravity 的可能属性是 东北东南西南< /code>、westnorthwestcentercentre

默认为中心

url

原始图像的 URL/路径。

License

麻省理工学院

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.

Build StatusTest Coverage

Installation

$ yarn add express-sharp
$ npm install express-sharp --save

See sharp installation for additional installation instructions.

Usage

Example app.js:

'use strict'

const express = require('express')
const app = express()
const scale = require('express-sharp')

const 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

const scale = require('express-sharp')
app.use('/some-path', scale(options))

Supported options:

baseHost

Specify the HTTP base host from which images will be requested.

cropMaxSize

The maximum length in pixels (width or height) a cropped Image is allowed to have. Note: if this value is too high an attacker could use this to slow down your server. Default is 2000

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: webp if supported else the output format of the requested image.

Valid values: every valid sharp output format string, i.e. jpeg, gif, webp or raw.

progressive

only available for jpeg and png formats:

See sharp docs for jpeg.

See sharp docs for png.

Use &progressive=true to enable progressive scan.

quality

See sharp docs.

quality is a Number between 1 and 100.

crop

See sharp docs.

Use &crop=true to enable the sharp cropping feature.

Default is `false.

Note: Both width and height params are neccessary for crop to work.

gravity

See sharp docs.

When the crop option is activated you can specify the gravity of the cropping.

Possible attributes of the optional gravity are north, northeast, east, southeast, south, southwest, west, northwest, center and centre.

Default is center;

url

URL/path to original image.

License

MIT

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文