mcpField
T
tigris-image-optimization

tigris-image-optimization

github.com/tigrisdata开发23.3k 次安装14 周前更新
代码仓库

关于 tigris-image-optimization

为使用 Tigris 存储的开发者提供图片缩放、裁剪和优化指南,涵盖上传时处理、响应式图片及 CDN 交付。

主要功能

  1. 01上传时生成多种尺寸
  2. 02按请求处理图片变体
  3. 03客户端上传前缩放
  4. 04Tigris 公共存储桶 CDN 交付
  5. 05Next.js、Remix 等框架指南

适用场景

  1. 01为头像、缩略图和封面生成固定尺寸
  2. 02按需提供多种图片尺寸
  3. 03通过公共存储桶分发图片

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tigrisdata/skills --skill tigris-image-optimization

安装后在 Claude Code 中输入/tigris-image-optimization确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

metadata.json
README.md
resources/
django.md
express.md
laravel.md
nextjs.md
rails.md
remix.md

详细介绍

Tigris 图像优化

调整、裁剪和优化存储在 Tigris 中的图像。上传时生成缩略图,提供响应式图像,并利用 Tigris 的全球 CDN 实现快速交付。

策略概览

方式适用场景优点缺点
上传时处理缩略图、固定尺寸提供服务速度快、结果可预测每种变体都会产生存储成本
按请求处理多种尺寸变体灵活、占用存储较少首次请求延迟较高
客户端调整尺寸上传前节省带宽、上传速度快对质量的控制较弱

推荐: 对已知尺寸(头像、缩略图、封面)在上传时处理。使用公共存储桶进行 CDN 交付——Tigris 会自动从最近的全球边缘节点提供公共文件。


上传时处理(通用模式)

文件上传时生成各种变体,并将每种变体存储为单独的对象:

avatars/user-123.jpg          # original
avatars/user-123-thumb.jpg    # 100x100
avatars/user-123-medium.jpg   # 400x400
avatars/user-123-large.jpg    # 800x800

需要快速通过 CDN 交付的图像,请使用 access: "public"。


框架指南

阅读适用于你所用框架的资源文件:

  • Next.js — 阅读 ./resources/nextjs.md,了解 next/image 配置和 Sharp 处理
  • Remix — 阅读 ./resources/remix.md,了解 action 函数中的 Sharp 处理和响应式 srcset
  • Express — 阅读 ./resources/express.md,了解使用 Multer 的 Sharp 中间件
  • Rails — 阅读 ./resources/rails.md,了解 Active Storage 变体
  • Django — 阅读 ./resources/django.md,了解 django-imagekit 和 Pillow 处理
  • Laravel — 阅读 ./resources/laravel.md,了解 Intervention Image

CDN 交付

Tigris 公共存储桶会从最近的全球边缘节点提供文件——无需单独配置 CDN。

图像的缓存标头:

await put("images/hero.jpg", buffer, {
  access: "public",
  contentType: "image/jpeg",
});

对于文件名包含内容哈希且不可变的文件(例如 hero-abc123.jpg),请使用较长的缓存时间。对于可变路径,请使用较短的 TTL 或 ETag。


关键规则

始终: 对提供给用户的图像使用 access: "public"(启用 CDN) | 对已知尺寸在上传时生成缩略图 | 使用 WebP/AVIF 减小文件大小 | 设置明确的 contentType

切勿: 在每次请求时处理图像而不进行缓存 | 如果始终提供缩略图,却只存储原图 | 在下载完整尺寸图像后再于浏览器中调整尺寸


相关技能

  • tigris-file-uploads — 各框架的完整上传模式
  • tigris-egress-optimizer — 降低图像提供服务的带宽成本

官方文档

评论

支持 Markdown