Cloudflare R2 是类似 AWS S3 的对象存储服务,对于免费账户提供 10G 的空间以及每月 100 万次的 A 类操作和 1000 万次 B 类操作,具体什么是 A 类操作什么是 B 类操作,可以参考官方说明:A 类操作。对于个人博客来说,这是个不错的免费图床。本文详细介绍如何将 Cloudflare R2 服务作为个人网站的免费图床,并且无缝集成 VSCode Markdown 编辑器。
注册 Cloudflare 账户并开通 R2 服务
- 注册 Cloudflare 账号非常简单
- 前往 Cloudflare 注册页面;
- 用你的邮箱地址作为登录用户名,并输入密码;
- 点击
Create Account
, 一封电子邮件会发往你注册的邮箱,点击里面的确认链接即可激活账号。
- 开通 R2 服务
登录 Cloudflare,从左侧菜单栏进入 R2 页面,按照页面提示开通 R2 服务。
开通 R2 服务需要提供信用卡信息,支持 VISA 的即可,超过免费使用额度的时候会从该卡扣费,对于访问量不大的个人博客,免费额度一般足够了。
- 创建
bucket
接下来我们点击Create Bucket
蓝色按钮,创建一个名为static
的“桶”(bucket)。
点击Settings
选项卡,进入配置页面,点击 Allow Access
,允许其中的图片被互联网访问到,效果如下图所示
同时保存下图中的S3 API
,后面步骤需要用到。
- 创建 API Token
如果你并不想自动上传,而是手动上传图片,目前设置都已经完成了。
后续步骤我们会介绍如何通过 VSCode 的插件自动上传图片到到 Cloudflare R2 的时候会需要用到这个 API Token。
回到 R2 的首页,然后右侧的 Manage R2 API Tokens
链接,点击 Create API token
进入配置页面。
- Token name: 给 Token 一个名字,可以任意字符;
- Permissions: 由于我们需要通过这个 Token 上传图片,所以这里需要选择
Object Read & Write
; - Specify bucket(s): 根据需要可以选择该 Token 可以访问的 Bucket,是所有的都可以,还是只能是选定的;
- TTL: 该 Token 的有效期;
- Client IP Address Filtering:类似配置白名单、黑名单的方式来限制使用这个 Token 的 IP 地址,可以根据实际需要配置,简单期间可以留空。
最后点击 Create API Token
完成创建。
注意:务必保管好
Token value
,Access Key ID
,Secret Access Key
, 因为之后你没法再查看这些值。
安装 VSCode 插件并完成配置
接下来我们介绍通过 VSCode 的插件来实现在 Markdown 或 HTML 文档中一键插入图片并自动上传至前面配置的 Cloudflare R2 中。
在 VSCode 插件管理 Tab 页,搜索并安装插件 Markdown Image
,安装完成后点击边上的齿轮按钮进入配置页。
该插件的配置项非常多,但是我们只需要关心部分即可。首先是 Base
组:
- Code Type: 因为我们是 Markdown ,所以这里选择 Markdown;如果你是直接编辑 HTML, 则需要选择HTML;
- Upload Method: 这里必须选择 S3,Cloudflare R2 是 S3 兼容的服务;
然后是S3
组:
- Access Key ID: 填入上面步骤中的
Access Key ID
; - Bucket Name: Bucket的名字,比如我们的例子中是
static
; - Endpoint: 填入上面步骤中保存的
S3 API
; - Region: 如果你不清楚具体哪个区域的,这里填
auto
; - Secret Access Key: 填入上面步骤中的
Secret Access Key
;
到了检验成果的时候了,复制一个图片,创建一个 Markdown 文件,按下快捷键 Alt + Shift + V
,稍等会(后台在上传图片中),这就大功告成了,NICE~
总结
Cloudflare R2 不仅仅可以存放图片,理论上可以存放任何文件。如果你的域名也是在 Cloudflare 管理,可以给你的 Bucket 配置个子域名,这样 Cloudflare 的缓存机制也会自动生效,可以有效降低 R2 的操作次数,这就意味着一直免费咯。还有我们这个 VSCode 的插件其实还支持很多其他的平台,比如Qiniu。