经长期测试以及网上了解, 目前, Cloudflare r2搭建图床是兼具性价比以及稳定性的最优方式
Cloudflare R2存储桶
创建对象存储
登录cloudflare.com, 找到R2对象存储
点击右上角创建存储桶
- 名称自定义**(后续要用)**
- 位置建议选择亚太地区
- 类型: 标准
自定义域名
默认生成的r2.dev域名有速率限制, 并且还很长, 推荐自定义域名, 提前将购买的域名托管到cloudflare
在存储桶-设置里添加自定义域, 稍等片刻当状态变为活动时添加成功
生成API密钥
回到对象存储页面, 点击右下角Account Details里的Manage创建令牌, 点击创建Account API令牌, 权限选择对象读和写, 并指定刚刚创建的存储桶
记录下当前页面的密钥, 注意该页面只会出现这一次, 请在记事本中复制粘贴, 密钥对应关系如图所示
AccessKeyID对应访问密钥IDSecretAccessKey对应机密访问密钥endpoint对应终结点
至此, Cloudflare全部配置完成
PicList
PicList 是一款高效的云存储和图床平台管理工具, 相比于PicGo, 软件界面更美观, 在保留了所有功能的基础上, 更加好用
Piclist自带S3图床类型, 点击编辑
AccessKeyId、SecretAccessKey在cloudflare生成密钥时已获取Bucket是创建的存储桶的名字设定Region最好填auto自定义节点也就是endpoint, 也是在生成密钥时已获取自定义域名填入自己的域名
填写完后确认, 点击左侧菜单栏上传, 随便测试一张图, 提示上传成功即可
Typora
Typora可以直接安装picgo-core, 在菜单栏-文件-偏好设置-图像里, 由于我们使用的是Cloudflare R2, 默认安装的picgo-core不带此图床类型, 需要手动安装插件, 但typora里安装的picgo-core是打包好的二进制文件无法额外安装插件, 所以这里使用的是在win电脑上安装node和npm, 通过在npm全局安装picgo-core, 然后再安装s3插件
安装node.js, 在官网nodejs.org/en/download下载msi文件, 一键安装
修改npm全局安装路径到D盘:
npm config set prefix "D:\node_js\node_global"
npm config set cache "D:\node_js\node_cache"
添加环境变量D:\node_js\node_global 和D:\node_js 并确保前者在后者上方
完成路径切换后, 全局更新npm:
npm install -g npm@latest
全局安装picgo-core:
npm install picgo -g
安装S3插件, 参考: github.com/wayjam/picg…, 具体步骤如下(最好是在cmd管理员模式下进行):
#安装s3插件
picgo add s3
#选择图床
picgo set uploader # 选择aws-s3回车, 输入一个name, 后续弹出的所有选项先全部直接回车不填
在C:\Users\用户名\.picgo文件夹下找到config.json文件, 依次填入accessKeyID、secretAccessKey、bucketName、uploadPath、region、endpoint、outputURLPattern
{
"picBed": {
"current": "aws-s3",
"aws-s3": {
"accessKeyID": "访问密钥ID",
"secretAccessKey": "机密访问密钥",
"bucketName": "存储桶名称",
"uploadPath": "上传路径, 参考:{fileName}.{extName}",
"region": "auto",
"endpoint": "终结点",
"proxy": null,
"rejectUnauthorized": true,
"acl": "public-read",
"pathStyleAccess": false,
"outputURLPattern": "https://自定义域名/{path}",
"urlPrefix": "",
"urlSuffix": "",
"disableBucketPrefixToURL": false,
"_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"_configName": "XXX",
"_createdAt": XXXXXXXXXXXXXX,
"_updatedAt": XXXXXXXXXXXXXX
},
"uploader": "aws-s3"
},
"picgoPlugins": {
"picgo-plugin-s3": true
},
"uploader": {
"aws-s3": {
"configList": [
{
"accessKeyID": "访问密钥ID",
"secretAccessKey": "机密访问密钥",
"bucketName": "存储桶名称",
"uploadPath": "上传路径, 参考:{fileName}.{extName}",
"region": "auto",
"endpoint": "终结点",
"proxy": null,
"rejectUnauthorized": true,
"acl": "public-read",
"pathStyleAccess": false,
"outputURLPattern": "https://自定义域名/{path}",
"urlPrefix": "",
"urlSuffix": "",
"disableBucketPrefixToURL": false,
"_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"_configName": "XXX",
"_createdAt": XXXXXXXXXXXXXX,
"_updatedAt": XXXXXXXXXXXXXX
}
],
"defaultId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
上下两部分都要填, 填两边
最后回到typora的偏好设置-图像里, 将上传服务选为Custom Command, 命令填入picgo upload
点击左边验证, 提示上传成功则大功告成