file-r2-worker 文件保管站 Cloudflare R2对象存储

前言

但 R2 的管理页面并不那么直观地看到图片预览.

我们可以用 worker 来管理

实践

考虑到图片可能会很多, 很大, 推荐设置 Cloudflare 的  Image Transformation 功能

首先, 你需要有一个托管在cloudflare的域名.

打开 Image Transformation 功能


给 R2 设置自定义域名

还记得这个页面吗?

输入一个你的域名的子域名. 如, r2test.xxxx.xxxx
过一会儿, 会变成这个样子, 说明生效了.

设置 CORS 策略

[
  {
    "AllowedOrigins": [
      "*"
    ],
    "AllowedMethods": [
      "PUT",
      "GET",
      "HEAD",
      "DELETE"
    ],
    "AllowedHeaders": [
      "*"
    ]
  }
]
* 注, 说实话这里有一点点粗暴, 但是问题不大. 

你现在的R2的一些信息

在 ShareX 的 S3 上传器页面.
Access key ID
Secret access key
Endpoint
Bucket name
Custom domain

创建一个Cloudflare Worker




编辑Worker的脚本内容


把原有的内容全部删掉


换成:https://github.com/crazypeace/file-r2-worker/blob/main/worker.js 的内容

修改管理面板访问密码:
password: "suibianshezhishenme",  // 改成你喜欢的

设置 R2 参数
* ShareX 的 S3 上传器页面中, Secret access key 是复制不出来的

保存并部署

右上角

使用 file-r2-worker 文件保管站

用浏览器访问你的 worker域名  或 点击 visit 链接

显示 404 这是正常的功能,  设置了密码不对外公开使用.

在 worker 域名后 添加 密码作为 path , 如  
https://divine-voice-e752.crazypeace.workers.dev/suibianshezhishenme
这时界面就正常了

如果你的R2里面已经保存了文件, 你可以点击 "load R2 to localStorage" 按钮.

如果你想删除哪个图片, 点 X 按钮就行.

========

后记

如果你想用 Cloudflare 的  Image Transformation 功能生成缩略图,
R2_PUBLIC_URL 要使用你的 R2的自定义域名

如果你想多人共用, 那么就只在这个管理页面上传, 这样每个人只在列表中看到自己上传的图片. 同时, 设置
load_r2: false  // 允许 load R2 to localStorage 按钮
这样就不会通过 load R2 按钮读取别人上传的图片.
* 不过, 管理页面其实是有R2的 api token的, 可以用这个来操作R2, 所以你只能和信任的人共用. 页面上禁用 load R2 按钮, 只是防误操作.

评论

The Hot3 in Last 7 Days

白嫖worker 自建短链服务 Url-Shorten-Worker 显示短链的二维码QRcode