R2 图床运营规范

830 字
4 分钟
R2 图床运营规范

📖 为什么图片要放图床#

本站文字和图片分离

  • 文字(Markdown)进 git 仓库 —— 仓库永远很小,克隆、构建都很快
  • 图片进对象存储图床 —— 独立于站点,走 CDN 加速,图片挂了也不拖垮页面

所以规则是:凡是 >几十 KB 的图片,一律传图床,用 https://… 链接引用,绝不把图片文件塞进仓库


一、上传工具(PicList)#

日常传图用 PicList(桌面图床管理工具),配好一次就不用再动。关键配置点(不含凭证):

  • 协议:S3 兼容
  • 区域auto
  • Endpoint:R2 专属地址(不带桶名前缀)
  • Path Style:开启
  • 关闭桶名自动前缀:避免路径被重复拼成 桶/桶/文件
  • 自定义域名:填好图床 CDN 域名,上传后它直接返回可用的 https://… Markdown 链接
  • 拖图自动转 webp + 自动生成 ![](链接),复制即用

凭证(Access Key / Secret)只在工具里配一次,别写进任何文档、别进 git。


二、目录与命名规范#

图床里按用途分目录,别乱堆:

目录放什么命名
gallery/相册/照片墙、碎碎念配图YYYY-MM-DD-含义.webp
page/友链头像(本地化用)序号-域名.webp
firefly-tutorial/教程系列封面/示意图语义化英文

命名规则日期-含义,扩展名统一 .webp。好处是看图名就知道什么时候传的、什么内容,而且日期天然避免重名冲突

⚠️ 别用中文文件名(链接里会带 URL 编码,复制粘贴易错),文件名里也别带空格。


三、缓存规则(配一次,但要知道)#

图床域名已配 CDN 缓存规则:Edge/Browser TTL 设为约 1 年。这样访客的图片请求打到 CDN 缓存,不会每次都回源对象存储,省流量也快。

怎么确认缓存生效:浏览器开发者工具看图片请求的响应头,cf-cache-status: HIT(缓存命中)说明走缓存;如果显示 DYNAMIC,说明还没配缓存规则、每次都在回源。


四、⚠️ 最容易踩的坑:换图必须换文件名#

因为缓存 TTL 长达 1 年,同名文件被覆盖后,访客可能几个月都看到旧图(CDN 缓存没失效)。

所以铁律:

改图 = 重新上传一个新文件名,改引用链接。永远不要覆盖同名文件。

正例:

原来:2026-09-07-girl.webp → 引用了它
改图:上传 2026-09-07-girl-v2.webp → 把正文链接改成 v2

错误示范:直接覆盖 2026-09-07-girl.webp —— 你本地看是新图,线上访客大概率还是旧图。


五、传完图后回正文#

图床工具会返回 ![](https://cdn.xxx.top/gallery/2026-09-07-xxx.webp),直接粘进 Markdown 即可。别手动改链接里的域名拼写,复制出来的最稳。

文章 / 碎碎念 / 相册 urls.txt 引用图片的完整流程串起来见对应各篇:


✅ 速记#

  1. 大图一律图床,仓库只存文字
  2. 上传工具配好别乱动,凭证不进文档
  3. 目录 gallery/page/… 分类放;命名 日期-含义.webp
  4. 已配 1 年缓存;看到 DYNAMIC 说明缓存没生效
  5. 改图 = 新文件名,绝不同名覆盖

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
R2 图床运营规范
https://hecloud.top/posts/guide/r2-image-hosting-guide/
作者
贺小云
发布于
2026-09-07
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
贺小云
热爱技术与折腾的博客 Dancing with uncertainty. 与不确定性共舞
公告
出于成本考虑,贺云已全面转型Serverless架构
分类
标签
碎碎念
站点统计
文章
68
分类
6
标签
38
总字数
46,536
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.5
文章许可
CC BY-NC-SA 4.0