Cloudflare R2 图床
前言
在 Blog 建立以后,暂时只有文字记录。 还缺少一个图床,所以把目光盯向了 Cloudflare R2。
小介绍
Cloudflare R2 存储允许开发人员存储大量非结构化数据,而无需支付与典型云存储服务相关的昂贵出口带宽费用。 类似于阿里云国际的 OSS 免费 5 G 空间,流量收费,但是使用自定义域名套用 Cloudflare 的 CDN 就流量免费。Cloudflare 自己的 R2 存储流量不收费,收费的是存储空间和请求次数。A 类操作和 B 类操作分开收费,上传属于 A 类操作,下载和访问属于 B 类操作。
Cloudflare R2 设置
开通
此处省略,绑定外币支付卡即可开通。
创建
进入 Clouflare 主页,点击 R2 对象存储。

image.png
点击创建存储桶,指定一个存储桶名称。

{62BFBF0D-7687-434D-98C5-51C02E2E1AE4}.png
创建完成后,来到管理页。
选择性连接自定义域或 R2 Dev 子域。

image.png
配合 Piclist 使用
介绍
PicList 是一款高效的云存储和图床平台管理工具,在 PicGo 的基础上经过深度的二次开发,不仅完整保留了 PicGo 的所有功能,还增添了许多新的 feature。例如相册支持同步云端删除文件,内置图床额外添加了 WebDav、本地图床和 SFTP 等。PicList 同时增加了完整的云存储管理功能,包括云端目录查看、文件搜索、批量上传下载和删除文件,复制多种格式文件链接和图片/markdown/文本/视频预览等,另外还有更加强大的相册和多项功能新增或优化。
配置
此处以 Cloudflare R2 为例
Cloudflare R2 API 设置
创建 API
进入 Cloudflare R2 部分,点击 管理 API 令牌。

image.png
创建 API 令牌,选择对象读和写。
指定存储桶选择仅应用于特定存储桶,选择刚创建的存储桶。

image.png
记录下令牌值。

image.png
Piclist 图床设置
位置:图床-AWS S3

image.png
新建一个配置。

image.png
- 应用密钥 ID,填写 R2 API 中的
Access Key ID
(访问密钥 ID)。 - 应用密钥,填写 R2 API 中的
Secret Access Key
(机密访问密钥)。 - 桶名,填写 R2 中创建的
Bucket 名称
,如创建 R 2 的桶的名字img
。 - 文件路径,上传到 R2 中的文件路径,这里选择使用
{fileName}.{extName}
(或者{fullName}
) 来保留原文件的文件名和扩展名。 - 自定义节点,填写 R2 API 中的「为 S 3 客户端使用管辖权地特定的终结点」,即
xxx.r2.cloudflarestorage.com
格式的 S 3 Endpoint。 - 自定义域名,填写生成的
https://xxx.r2.dev
格式的域名或自定义域名。 - ForcePathStyle:
no关闭
,否则会在最终路径里面显示有桶名。 - 拒绝无效 TLS 证书连接:
yes开启
,如果出现证书错误可以关闭。 - ACL 访问控制列表:
public-read
- Bucket 前缀:
false
Cloudflare 上传路径补充 上传路径支持占位符,可用的占位符有:
payload | 描述 |
---|---|
{year} | 当前日期 - 年 |
{month} | 当前日期 - 月 |
{day} | 当前日期 - 日 |
{fullName} | 完整文件名(含扩展名) |
{fileName} | 文件名(不含扩展名) |
{extName} | 扩展名(不含.) |
{md5} | 图片 MD 5 计算值 |
{sha1} | 图片 SHA 1 计算值 |
{sha256} | 图片 SHA 256 计算值 |
{timestamp} | Unix 时间戳 |
{timestampMS} | Unix 时间戳(毫秒) |
例如,如果您的上传路径为 images/{year}/{month}/{day}/{fullName}
,则图片将会按照日期存储在对应的文件夹中。
此处作者设置为
Images/{year}/{month}/{fullName}
额外补充设置
为了易于查找和区分图片,此处开启高级重命名。
位置:设置-上传设置

image.png
Piclist 占位符补充 重命名支持占位符,可用的占位符有:
占位符 | 说明 |
---|---|
{Y} | 年份, 4 位 |
{y} | 年份, 2 位 |
{m} | 月份, 2 位 |
{d} | 日期, 2 位 |
{h} | 小时, 2 位 |
{i} | 分钟, 2 位 |
{s} | 秒, 2 位 |
{ms} | 毫秒, 3 位 |
{timestamp} | 时间戳 (毫秒) |
{md5} | 随机 MD 5 字符串 |
{md5-16} | 随机 MD 5 字符串 (16 位) |
{uuid} | UUID 字符串 |
{str-number} | 随机字符串,number 为长度 |
{filename} | 原文件名 |
{auto} | 自增数字 |
作者使用的规则:{Y}{m}{d}-{h}{i}{s}-{filename}-{md5-16}
