常见场景
以下示例从 快速开始 的默认配置出发,由管理员配置。存储源、存储组和上传配置的默认名称均为 Default。
| 想实现什么 | 场景 |
|---|---|
| 同一张图片保存到两个存储源 | 同时保存到本地和 S3 |
| 根据链接生成不同尺寸的图片 | 用同一张原图生成不同尺寸 |
| 保存的图片统一带水印 | 为博客图片添加水印 |
| 上传后自动检查违规内容 | 上传后自动审核图片 |
| 图片被判定屏蔽或删除时提醒管理员 | Telegram 通知 |
同时保存到本地和 S3
保留本地存储,每次上传再向 S3 保存一份副本。
- 按 S3 配置说明 创建存储源,命名为
S3。 - 打开 配置 → 存储组,编辑
Default,按下表配置并保存。
| 配置项 | 设置 |
|---|---|
| 成员及顺序 | 本地源 Default 在前,S3 在后 |
| 存储选择策略 | 按优先级 |
| 副本数 | 2 |
通过 Default 上传配置上传一张图片,在图片详情的「副本」中确认本地与 S3 均为就绪。两个源并发写入,首份成功后返回;另一份可能仍在执行。
此设置只影响后续上传,不会为已有图片补副本。副本冗余不能替代 备份:删除图片会清理所有存储副本。
用同一张原图生成不同尺寸
通过链接参数缩放、裁剪或转换格式,不改动存储中的原图。
- 打开 配置 → 流水线,编辑全局访问流水线,添加 图片处理 步骤。
- 在请求参数中启用
w、h、fit、q、format,保存。 - 选一张足够大的静态 JPEG 图片,将下表中的域名和路径替换为它的公开链接,分别打开验证。
| 链接示例 | 效果 |
|---|---|
https://img.example.com/i/photo.jpg?w=320 | 等比缩放,宽度不超过 320 像素 |
https://img.example.com/i/photo.jpg?w=640&h=360&fit=cover | 裁剪为 640 × 360 像素 |
https://img.example.com/i/photo.jpg?w=640&format=webp&q=80 | 缩放后输出质量为 80 的 WebP |
不带参数时,该步骤不改变图片;若流水线还有其他步骤,仍会按其配置执行。更多参数见 图片处理插件。
为博客图片添加水印
建立独立的博客上传入口,让通过该入口保存的图片带有文字水印。
- 在 配置 → 流水线 创建上传阶段的流水线,命名为“博客水印”。
- 添加 水印 步骤,按下表配置,其他字段保留默认值。
| 字段 | 示例值 |
|---|---|
| 水印类型 | 文字 |
| 文字 | example.com |
| 尺寸模式 | 相对尺寸 |
| 字号(短边百分比) | 3 |
| 边距(短边百分比) | 2 |
| 位置 | 右下 |
| 不透明度(%) | 70 |
- 在 配置 → 上传配置 创建“博客图片”:公开前缀填
/blog/,路径插件选“随机路径”,存储组选Default,上传流水线选“博客水印”。 - 在上传页选择“博客图片”,上传一张 JPEG 图片,打开返回链接,确认右下角出现水印。
水印会写入保存的图片,之后取消流水线也不会移除已有水印。使用中文文字时,服务器需有相应字体,也可填写服务器或容器内的字体文件路径。
若希望保留无水印原图,可将水印步骤放在全局访问流水线中,只处理访问结果。上传和访问阶段均可在步骤中开放 watermarkText 等参数,让客户端覆盖本次水印效果;开放 watermarkOpacity 后,客户端可传 0 跳过水印。
上传后自动审核图片
在图片保存后审核,命中时屏蔽或删除。按需选择插件:
| 插件与配置说明 | 适用需求 |
|---|---|
| 本地 NSFW 审核 | 在本机离线识别色情、色情动漫及可选的性感内容,无需凭据 |
| 腾讯云图片审核 | 使用腾讯云审核服务与策略 |
- 由 Owner 按安装插件安装所选插件 ZIP,确认加载成功。
- 在 配置 → 流水线 创建保存后流水线“图片审核”,添加所选插件,填写配置。
- 编辑需要审核的上传配置,将保存后流水线设为“图片审核”。
- 通过该配置上传测试图片,在图片详情的后台操作和处理结果中检查审核是否完成、图片是否被屏蔽。
公开访问时机和失败处理见保存后流水线。
屏蔽或删除时发送 Telegram 通知
在保存后流水线中按 审核插件 → Telegram 通知 排列;本地 NSFW 审核和腾讯云审核均可使用。
- 准备机器人令牌和数字聊天 ID,确保机器人可以向该聊天发送消息。私聊需先与机器人开始对话;群聊需先添加机器人并授予发送权限。
- 在“图片审核”流水线末尾添加 Telegram 通知,按下表配置。
| 配置项 | 示例值 |
|---|---|
| 机器人令牌 | 填写实际 Bot Token |
| 聊天 ID | -1001234567890(替换为目标聊天 ID) |
| 通知状态 | block、delete |
| 附带前序步骤详情 | 开启,将审核建议、标签、分数等一起发送 |
- 确认上传配置已绑定这条流水线。上传后在图片详情查看审核与通知结果,并在 Telegram 中确认消息。
筛选依据是通知步骤执行时的累计状态,前序步骤的复核结果会影响是否通知。若需要完整图片链接,先配置 站点或图片域名。
通知失败不会撤销屏蔽或删除决定,此时任务不再自动重试。delete 通知表示删除决定,远端副本可能仍在清理。消息过长时会截断,完整处理结果可在图片详情查看。