从零开始搭建你的免费图床系统(Cloudflare R2 + Picgo)
个人图床最佳方案:Cloudflare R2 + PicGo!免费、稳定、国内+国外网络双向互通!
25.07.09更新:?PICLIST (基于picgo的优化图床平台管理工具) https://blogs.akaiblogs.top/index.php/2025/07/09/piclist-%ef%bc%88%e5%9f%ba%e4%ba%8epicgo%e7%9a%84%e4%bc%98%e5%8c%96%e5%9b%be%e5%ba%8a%e5%b9%b3%e5%8f%b0%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7%ef%bc%89/
前言
在搭建个人博客过程中,为了减轻自己服务器压力,需要用到第三方图床来存储博客中的图片。然而,大部分图床都是付费的,而免费的,又怕图床服务器随时关停,就算是付费的,也怕服务商跑路。数据无价,一旦没有备份的话,就凉凉了。
在这篇教程中,我们将一步步搭建一个免费的图床系统,使用 Cloudflare R2 作为存储后端,Picgo 作为图床管理工具。无需付费,你就可以拥有一个稳定、高效的图床解决方案,适用于个人博客、Markdown 写作等场景,最重要的是,国内外均可访问,不用担心一些网络限制问题。
网站优势
号称赛博菩萨 Cloudflare 提供的 R2 对象存储这一服务,免费计划中有每月 10 GB 的存储容量,对于个人使用来说完全够用,大厂的服务与数据安全也有保障。 虽然对于国内用户来说速度肯定还是比不上阿里云 OSS 这种线路,但是在不用备案、稳定且免费的综合条件下,这是我能想到的最好的方案了。 在电脑端同样是通过 PicGo 客户端几乎一键上传并生成博客直接可用的 markdown 图片链接,配置完成后使用起来很顺滑。

前置条件
一个 Cloudflare 账户
Picgo 客户端(支持 Windows、macOS)
一台电脑
一个免费或付费的域名(参考文章:Namesilo 域名购买及使用教程(附 Namesilo 优惠码))
图床搭建说明
Cloudflare R2 + PicGo 的方案尽管牵扯到了多个组件和平台,但所有操作都在 Free Plan 中,也是我最终选定的方案,下面将从零开始介绍如何搭建这个免费图床系统。
Cloudflare R2
R2 是 Cloudflare 推出的免费对象存储服务,需要免费注册一个 Cloudflare 账号才能使用,注册登录后,点击左侧边栏的 R2 访问服务,但需要注意的是开通 R2 服务需要绑定信用卡(国内外主流信用卡皆可),但并不会扣费,主要是为了验证用户身份使用。 可以自行搜索国版PayPal注册流程。一张银行卡就行,我用的是中国银行储蓄卡。
创建图床 存储桶(Bucket)

开通 R2 服务后,点击右上角「创建存储桶」按钮进行创建。

进入创建配置界面后,需要填写存储桶(Bucket)名称,建议有一些辨识度,后续在配置上传时会用到。 位置则选择「自动」,但可以额外多配置一个位置提示,可以根据博客受众群体所在位置选择区域,但 Cloudflare 并不保证一定会分配到所指定的区域。

点击「创建存储桶」按钮即完成创建,此时我们已经可以向我们的「yu-r2-test」存储桶上传文件了,可以选择在网页直接上传文件或文件夹。 也可以使用 S3 API 进行上传,我们后续使用 PicGo 客户端进行上传就依赖这种方式,但需要进行一些额外配置,点击导航栏「设置」选项进行配置。

首先我们需要打开「R2.dev 子域」,这是为了后续访问图片时需要的公网地址,点击「允许访问」,并按照提示输入「allow」即可开启。

完成后会显示一个以 r2.dev 结尾的公网网址,即我们后续访问图片的网址。
自定义图床域名(可选)
但是分配的网址比较长,不易于记忆,我们可以通过「自定义域」来绑定我们的专属域名,点击「连接域」按钮。

输入自己想绑定的域名,如 yu-r2-test.pseudoyu.com,点击继续。 https://photo.akaiblogs.top/docs/08.png


连接域,并等待 DNS 解析生效即可。

完成后 bucket 状态处「公共 URL 访问」显示“已允许”,且「域」显示为我们刚自定义的域名即配置成功。

当我们完成上述配置后,可以回到存储桶「对象」界面,上传一张示例图片,点开详情则会显示该图片的访问地址,此时我们就拥有了一个可访问的图床服务了。 但每次都要打开 Cloudflare 页面手动上传图片的方式显然不够便捷。R2 提供了 S3 兼容的 API,可以方便地使用一些客户端/命令行工具进行上传、删除等操作。


回到 R2 主页面,点击右上角「管理 R2 API 令牌」,进入后点击「创建 API 令牌」。

输入令牌名称,「权限」选择“对象读和写”并将此 API 指定之前所创建的 Bucket,这样最小化权限也保障数据安全,其余选项保持默认即可。

完成创建后会显示所有密钥,我们使用 PicGo 需要的是下面三个信息,不过因为只会显示一次,建议在密码管理软件或其他地方妥善保管好这些参数信息。 至此,我们需要在 Cloudflare R2 上配置的部分就完成了,接下来我们需要配置 PicGo 客户端。
PicGo
PicGo 是一个用于快速上传并获取图片 URL 的工具软件,有着较为丰富的插件生态,支持多种图床服务,其 GitHub 仓库为「GitHub - Molunerfinn/PicGo」,可以下载对应平台客户端使用。
配置 R2 图床
PicGo 本体并不包括 S3 图床,但可以通过「GitHub - wayjam/picgo-plugin-s3」插件来支持。

在「插件设置」中选择安装,「图床设置」中就新增了 Amazon S3 选项。点击进入配置选项。(可选择1.0.2,也可以选择1.3.7.

这里有几项配置需要尤其注意。
应用密钥 ID,填写 R2 API 中的 Access Key ID(访问密钥 ID)
应用密钥,填写 R2 API 中的 Secret Access Key(机密访问密钥)
桶名,填写 R2 中创建的 Bucket 名称,如我上文的
yu-r2-test文件路径,上传到 R2 中的文件路径,我选择使用
{fileName}.{extName}来保留原文件的文件名和扩展名。自定义节点,填写 R2 API 中的「为 S3 客户端使用管辖权地特定的终结点」,即
xxx.r2.cloudflarestorage.com格式的 S3 Endpoint自定义域名,填写上文生成的
xxx.r2.dev格式的域名或自定义域名,如我配置的yu-r2-test.pseudoyu.com
其他配置保持默认即可,确认参数无误后点击「确定」与「设置为默认图床」即可。
图片上传

完成上述配置后,我们就可以在「上传区」直接拖入文件进行图片上传了,如上传后显示无误则为配置成功,生成的链接会自动在系统剪贴板中,直接在需要的地方粘贴即可。

并且可以在链接格式处选择对应格式,如 URL 或是博客可用的 Markdown 格式链接等。这里我还做了一个小的配置,在左侧「PicGo 设置」 - 「自定义链接格式」中修改为 ,并在上传区的链接格式处选择了「Custom」,这样我上传后就会根据文件名生成以文件名为 Alt 文本的 Markdown 图片链接。
总结
至此,你已经成功搭建了一个免费的图床系统,使用 Cloudflare R2 存储图片,并通过 PicGo 实现快速上传。你可以将其用于 Markdown 写作、博客文章、论坛发帖等场景,享受免费、高速的图片托管服务!
常见问题
图片无法访问?
检查 Cloudflare R2 是否开启了 公有访问。
确保 PicGo 配置的 自定义 URL 正确。
如何删除已上传的图片?
进入 Cloudflare R2 控制台,手动删除文件。
希望这篇教程对你有所帮助!?
从零开始搭建你的免费图床系统(Cloudflare R2 + Picgo)
https://www.akaiblogs.top/archives/cong-ling-kai-shi-da-jian-ni-de-mian-fei-tu-chuang-xi-tong-cloudflare-r2-picgo
评论