[PicGo](https://github.com/Molunerfinn/PicGo) 是一个用于快速上传图片并获取 URL 链接的工具，默认支持 七牛云、腾讯云、又拍云、阿里云 OSS 等，本文将用 PicGo 客户端上传图片到 Cloudflare R2 储存桶里，R2 储存免费套餐每月有 100w 免费读取次数，加上防火墙拒绝爬虫足够个人网站使用。

本文使用的是 2.4.0-beta.9 windows 版本，前往 [https://github.com/Molunerfinn/PicGo/releases](https://github.com/Molunerfinn/PicGo/releases) 查看下载所有版本。

## 一、创建 R2 储存桶获取密钥

创建好储存桶后，获取 User API 令牌。

![](https://res.jb18.cm/img/2025/05/11/f3e608be2fdea4e542fa3efdd7ec0464.png)

![](https://res.jb18.cm/img/2025/05/10/59a9e700e7ebfd0f357b9e1f2fd91eb2.png)

名称自定义，选择对象读写并指定储存桶，点击创建。

![](https://res.jb18.cm/img/2025/05/10/69515bd6958fa9561bcce54ccbfc81f4.png)

注意！先不要关闭，密钥只显示这一次，任何时候都不要备份密钥，忘记只需要重新生成即可。

![](https://res.jb18.cm/img/2025/05/10/4e19e249e8c539abade2d0cc2b45ac93.png)

## 二、配置 PicGo 客户端

在插件设置里搜索安装 s3（可能较慢），打开图床设置的 Amazon S3，添加或修改默认的。

![](https://res.jb18.cm/img/2025/05/10/3e44b3f5b5a07624071ecaaae6e81132.png)

开始写入配置

- **图床配置名**：本地区分，随意填写。
- **应用密钥 ID**：对应 R2 访问密钥 ID。
- **应用密钥**：对应 R2 机密访问密钥。
- **桶名**：对应 R2 储存桶名。
- **上传文件路径**：上传成功后域名后面的路径，变量名参考我将写在最后。
- **地区**：填“auto”即可。
- **自定义节点**：对应 R2 最下面以 .r2.cloudflarestorage.com 结尾的链接。
- **自定义输出 URL 模板**：上传成功后自动复制的链接格式，填入 “https:\/\/域名/{path}” 即可，{path} 对应上面的 上传文件路径。

![](https://res.jb18.cm/img/2025/05/11/be93a4780a96e07d1d112e21992d0663.png)

确定，其他配置保持默认。

## 三、自定义域和安全

进入 R2 储存桶设置，先添加自定义域，测试完成再添加 CORS 策略。

R2 储存桶默认不允许公开访问，需修改为允许公开访问。

![](https://res.jb18.cm/img/2025/05/10/00881e5edeaeda39a930a465395c267e.png)

![](https://res.jb18.cm/img/2025/05/10/9bbfcebd35a6c4e1702a51b5d2db5db9.png)

现在上传图片用自定义域链接打开。

最后，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 计算值