PicList + Cloudflare R2 (VS Code & Typora 指南)
写博客最痛苦的不是写字,而是配图。
以前为了省事,我把图片直接存本地。结果 Hexo 仓库越来越大,git clone 慢得像蜗牛。后来想搞图床,发现 GitHub 在国内访问不稳,商业云存储又要担心流量费。
经过两个小时的折腾(踩了不少坑),我终于摸索出了一套“终极方案”:
**Cloudflare R2 (存储) + PicList (上传工具) + VS Code / Typora (写作)**。
这套方案不仅完全免费、全球CDN加速,而且完美打通了我最常用的两个编辑器。
🔗 第一步:配置 Cloudflare R2
Cloudflare R2 提供了 10GB 存储 + 1000万次读取/月 的免费额度,对个人博客来说几乎是无限的。
- 创建存储桶:在 Cloudflare R2 后台创建一个 Bucket(例如
blog-img)。 - 绑定域名(关键):
- 在桶的
设置->公开访问里,绑定一个自定义域名(如img.indolyn.com)。 - 如果不绑域名,图片只能存不能看。
- 在桶的
- 获取 API 密钥:
- 点击
Manage R2 API Tokens。 - 避坑点:权限必须选 “对象读写 (Object Read & Write)”。
- 记录下
Access Key ID、Secret Access Key和Endpoint。
- 点击
🛠️ 第二步:配置 PicList (核心中枢)
为什么要用 PicList 而不是 PicGo?
因为 PicList 是 PicGo 的超强升级版,它原生支持 S3/R2,不需要像 PicGo 那样折腾插件环境(还要装 Node.js、Python,太容易报错了)。
1. 基础配置
下载安装 PicList 后,进入 图床 -> Amazon S3 -> 编辑配置:
- AccessKey / SecretKey:填入刚才获取的。
- Bucket:填你的桶名(如
blog-img)。 - Region:直接填
auto。 - Endpoint:填
https://xxxx.r2.cloudflarestorage.com(注意:不要带桶名和斜杠)。 - 自定义域名:填
https://img.indolyn.com。
2. 🚨 解决 404 问题的关键设置
配置好后我发现上传成功,但访问全是 404。
仔细一看,链接变成了 https://域名/桶名/文件名,多了一层桶名。
解决方法(如图):
在 PicList 的 S3 设置下方:
- ForcePathStyle:改为
No(关闭)。 - 🔥 关键开关:找到 “开启 pathStyleAccess 时,是否要禁用最终生成URL中添加 bucket 前缀”,选 **
Yes**。

(开启这个开关,链接路径就正常了)
💻 第三步:Typora 对接
Typora 是我写长文的首选,配合 PicList 可以实现完全无感的上传体验。
找到 PicList 路径:
找到 PicList 安装目录下的PicList.exe路径(例如D:\tools\PicList\PicList.exe)。配置 Typora:
打开文件->偏好设置->图像:- 插入图片时:选择
上传图片(Upload image)。- 建议:勾选“对本地位置的图片应用上述规则”,这样以前存本地的图片也能一键转上传。
- 上传服务:选择
PicGo (app)(PicList 兼容 PicGo 接口)。 - PicGo 路径:粘贴刚才复制的
PicList.exe路径。
参考配置
- 插入图片时:选择
验证:
点击 “验证图片上传选项”,看到两个绿色对勾,说明配置成功!
现在的体验:在 Typora 里截图 -> Ctrl+V -> 图片自动变红(上传中) -> 变蓝(上传完成),链接自动替换为 R2 链接。
⌨️ 第四步:VS Code 配置
如果你习惯在 VS Code 里写 Hexo,配置更简单。
- 在 VS Code 扩展商店安装
vs-piclist插件(作者是 Kuingsmile)。 - 确保 PicList 软件在后台运行(它会开启 36677 端口)。
- 不需要改任何配置文件,插件会自动连接 PicList。
- 快捷键:
- 截图后按下
Ctrl + Alt + U(Win) /Cmd + Opt + U(Mac)。 - 图片链接自动插入 Markdown。
- 截图后按下