免费图床搭建

Cloudflare R2 + PicList 搭建免费高速个人图床的完整教程,适合零基础新手。

本教程基于 Bilibili 优质视频 利用 Cloudflare R2 与 PicList 搭建免费个人图床的完整教程 整理,推荐直接观看原视频。

为什么需要图床?

写 Markdown 文章、管理博客、在社区发帖时,经常需要插入图片。大多数人第一反应是直接粘贴或上传,但这样做有几个问题:

  • 本地图片:文件发出去别人看不到,分享时需要一起打包
  • 第三方平台外链:微博、知乎等平台会防盗链,图片过段时间就裂了
  • 免费图床:大量免费图床说关就关,迁移成本很高

图床就是专门存图片的地方——你把图片上传到图床,得到一个稳定的外链 URL,每次写文章时引用这个 URL 即可。无论文章发到哪里,图片都能正常显示。

对于独立开发者、写技术博客和公众号的人来说,一个稳定、快速、免费的图床几乎是必备基础设施。

为什么选 Cloudflare R2 + PicList?

市面上有不少图床方案,但这是目前个人用户最省心的选择:

Cloudflare R2

  • 10GB 免费存储,个人用户几乎用不完
  • 不限制流量,相当于无限流量
  • 全球 CDN 加速,国内访问速度也不错

PicList(替代 PicGo):

  • PicGo 曾经是主流选择,但已长期不更新,界面老、功能少
  • PicList 是 PicGo 的现代替代品,还在积极维护
  • 支持 AWS S3 协议(与 R2 完美兼容)、阿里云 OSS、腾讯云 COS 等几乎所有对象存储
  • 提供图片压缩、水印、批量上传等实用功能

下面开始搭建。

方案参数速览

项目说明
免费存储10GB,个人足够
流量不限量
请求限制A/B 类操作有限制,个人图床完全够用
适用场景压缩后 2-3MB 以内的小型图片
不适合大量大体积原图

准备工作

  1. Cloudflare 账户:注册 Cloudflare 并托管一个自有域名(域名需在 Cloudflare 管理)
  2. 绑定支付方式:首次启用 R2 时,Cloudflare 要求绑定计费方案用于身份验证,使用免费额度不会扣费。可用 PayPal 完成验证
  3. 下载 PicList:从 PicList 官网 下载安装客户端

第一步:创建 R2 存储桶

  1. 登录 Cloudflare 后台,进入 R2 页面,点击 创建存储桶
  2. 存储桶名称按个人喜好填写(如 my-images
  3. 关键设置:点击 更改地域,将默认的「自动」改为 亚太地区(否则节点分配到欧美,国内访问会非常慢)
  4. 点击创建

第二步:配置自定义域名

  1. 进入刚创建的存储桶 → 设置自定义域
  2. 输入一个子域名,如 images.yourdomain.com(确保域名已在 Cloudflare 托管)
  3. 等待 1-5 分钟生效,刷新页面显示状态为 有效 后即可继续

这个自定义域名很重要——后续在 PicList 中配置,上传后的图片会通过这个域名访问。

第三步:创建 API 令牌

  1. 在 R2 页面,点击 管理 API 令牌创建 API 令牌
  2. 权限选择 管理员读写(管理员级别的完全读写权限)
  3. 名字自定义,有效期建议选 永久(省去后续续期的麻烦)
  4. 创建后 立即复制 Access Key ID 和 Secret Access Key 保存到本地
  5. 记得保存:令牌只显示一次,关闭页面就再也看不到了

第四步:配置 PicList

基础参数

  1. 打开 PicList,进入 图床设置
  2. 选择 AWS S3 存储选项,点击 添加配置
  3. 填写参数:
参数填写内容
图床名称自定义,如 我的 R2 图床
Access Key ID刚才保存的 Key ID
Secret Access Key刚才保存的 Secret Key
存储桶名称第一步创建的存储桶名称

存储路径

建议设置一个有规律的存储路径,方便管理:

{year}{month}/{md5}.{ext}

PicList 支持多种占位符:{year} 年、{month} 月、{md5} 文件 MD5 值、{ext} 文件后缀。

上传节点

上传节点需要填写 Cloudflare R2 提供的 自定义 API 节点(每个账户对应的节点不同):

  1. 在 Cloudflare R2 页面,找到存储桶的 设置存储桶详情
  2. 复制 S3 API 地址,格式类似 https://<account-id>.r2.cloudflarestorage.com
  3. 填入 PicList 的 上传节点(Endpoint) 字段

自定义域名

  1. 在 PicList 的 自定义域名 字段,填写第二步配置的域名,且 需要在末尾加上 /存储桶名称
  2. 示例:如果域名是 images.yourdomain.com,存储桶名是 my-images,则填写 images.yourdomain.com/my-images

第五步:测试

配置完成后,拖一张小图片(建议 2-3MB 以内)到 PicList 上传:

  • 上传成功后 PicList 会自动复制 Markdown 格式链接
  • 图片 URL 就是你配置的自定义域名路径
  • 在浏览器打开测试,国内大部分地区加载速度可观

上传建议

  • 上传前先用工具压缩图片(推荐 TinyPNG 或 PicList 自带的压缩功能)
  • 不要上传手机原图等大体积文件
  • 10GB 空间很小,压缩后用很久

总结

这套方案的优势在于:

  1. 完全免费 — 10GB 空间 + 不限流量
  2. 稳定可靠 — Cloudflare 基础设施,不用担心跑路
  3. PicList 好用 — 现代界面,持续维护,配置简单
  4. One more thing — PicList 本身同时支持管理多个图床,未来即使换到付费方案(如阿里云 OSS、腾讯云 COS),工具也不用换

搭建完成后,配合 VS Code 的 Paste and Upload 插件,写 Markdown 时截图后直接粘贴即可自动上传,体验非常流畅。