目前R2提供10G/月的免费存储空间,流量也有免费额度,对于一般个人blog基本上够用了。

R2价格

Free(免费额度) Paid - Rates
Storage 10 GB / month $0.015 / GB-month
Class A Operations 1 million requests / month $4.50 / million requests
Class B Operations 10 million requests / month $0.36 / million requests

创建存储桶

开通了R2后,进入到R2界面,点击创建存储桶按钮,如图1

https://res-joe-blog.midware.dev/2023/04/c9ad6bf4e226f44a3b3778e87476a2bd.png

图1

填写存储桶信息:

https://res-joe-blog.midware.dev/2023/04/755e192c33611eb66f038e97210be604.png

图2

存储桶名称:根据自己需要取

位置:可以选中自动(即下拉选项),也可以选择自己的受众所在地区,比如自己的受众在中国或者周边,那可以选择亚太

访问:如果不是提供给公网访问可以不用管,需要提供给公网访问则要在创建存储桶后再设置开启

填好后点击创建存储桶按钮,这样就创建好了一个存储桶。如果不需要提供给公网访问可以跳过下面的设置存储桶这节。

设置存储桶

https://res-joe-blog.midware.dev/2023/04/60c2c64d702d885dfd9f66c58766fc26.png

图3

在设置页面,我们可以看到公共URL访问和域都是不允许的,我们现在来开启公网访问。在设置页面点击R2.dev子域右边的允许访问按钮,这样就开启了公网访问,此时在R2.dev子域的旁边会显示已允许的绿色标签,现在cloudflare会分配一个二级域名给我们,不建议使用这个二级域名去访问资源,在cloudfare设置页面上也有说明不建议的原因。

https://res-joe-blog.midware.dev/2023/04/be343fc945202d0aeae0f99a41619502.png

图4

如果自己有域名,则可以在自定义域设置自己域名以代替默认分配的r2.dev二级域名。

如果需要设置跨域则可以在下面的CORS 策略中设置

申请R2 API令牌

在图1的右上角有个管理R2 API令牌链接,点击这个链接后进入页面,在右边点击创建API令牌按钮,在创建页面需要设置几个地方:

https://res-joe-blog.midware.dev/2023/04/bc5b89c938a92c5c3e227f6867bee50d.png

图5

令牌名称:根据自己需要修改

权限:选择编辑权限,picgo上传需要编辑权限

TTL:在这个存储桶下资源的有效期,根据自己需要选择,我自己是选择的永久

客户端IP地址筛选:如果没有特别限制使用,默认即可

然后点击创建API令牌按钮,成功后把访问密钥 ID机密访问密钥记录下来

设置picgo

免费开源跨平台,强大的插件系统,目前常见的托管平台基本上都有插件支持,可以进入官网下载最新版本

安装好后,点击插件设置,在搜索框中搜索S3,第一个即是,安装插件

https://res-joe-blog.midware.dev/2023/04/60e887ff8b08f512b1cac7ee3fca2498.png

图6

图床设置

选择Amazon S3,填写相关配置,配置好后就可以上传图片了

应用密钥ID:访问密钥 ID

应用密钥:机密访问密钥

:存储桶名称

文件路径:可以根据自己需要配置,具体可以看插件页面说明

地区:创建存储桶时选择的地区

自定义节点:图3中test下面这串

自定义域名:如果有就填写

bucketEndpoint:yes