PicGo上传图片到Cloudflare R2储存桶
PicGo 是一个用于快速上传图片并获取 URL 链接的工具,默认支持 七牛云、腾讯云、又拍云、阿里云 OSS 等,本文将用 PicGo 客户端上传图片到 Cloudflare R2 储存桶里,R2 储存免费套餐每月有 100w 免费读取次数,加上防火墙拒绝爬虫足够个人网站使用。
本文使用的是 2.4.0-beta.9 windows 版本,前往 https://github.com/Molunerfinn/PicGo/releases 查看下载所有版本。
一、创建 R2 储存桶获取密钥
创建好储存桶后,获取 User API 令牌。
名称自定义,选择对象读写并指定储存桶,点击创建。
注意!先不要关闭,密钥只显示这一次,任何时候都不要备份密钥,忘记只需要重新生成即可。
二、配置 PicGo 客户端
在插件设置里搜索安装 s3(可能较慢),打开图床设置的 Amazon S3,添加或修改默认的。
开始写入配置
- 图床配置名:本地区分,随意填写。
- 应用密钥 ID:对应 R2 访问密钥 ID。
- 应用密钥:对应 R2 机密访问密钥。
- 桶名:对应 R2 储存桶名。
- 上传文件路径:上传成功后域名后面的路径,变量名参考我将写在最后。
- 地区:填“auto”即可。
- 自定义节点:对应 R2 最下面以 .r2.cloudflarestorage.com 结尾的链接。
- 自定义输出 URL 模板:上传成功后自动复制的链接格式,填入 “https://域名/{path}” 即可,{path} 对应上面的 上传文件路径。
确定,其他配置保持默认。
三、自定义域和安全
进入 R2 储存桶设置,先添加自定义域,测试完成再添加 CORS 策略。
R2 储存桶默认不允许公开访问,需修改为允许公开访问。
现在上传图片用自定义域链接打开。
最后,CORS 策略写入:
[
{
"AllowedOrigins": [
"https://jb18.cm",
"https://wo.jb18.cm"
],
"AllowedMethods": [
"GET"
],
"AllowedHeaders": [
"*"
],
"MaxAgeSeconds": 604800
}
]
- AllowedOrigins:允许来源
- MaxAgeSeconds:写入浏览器的缓存时间
路径变量名:
{year} 当前日期 - 年
{month} 当前日期 - 月
{day} 当前日期 - 日
{hour} 当前日期 - 时
{minute} 当前日期 - 分
{second} 当前日期 - 秒
{millisecond} 当前日期 - 毫秒
{timestamp} Unix 时间戳
{timestampMS} Unix 时间戳(毫秒)
{fullName} 完整文件名(含扩展名)
{fileName} 文件名(不含扩展名)
{extName} 扩展名(不含.)
{md5} 图片 MD5 计算值
{sha1} 图片 SHA1 计算值
{sha256} 图片 SHA256 计算值