从零开始搭建你的免费图床系统(Cloudflare R2 + Picgo)
从零开始搭建你的免费图床系统(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 控制台,手动删除文件。
希望这篇教程对你有所帮助!?






