确认了,Cloudflare的R2对象存储S3接口api不支持在web端使用

cloudflare的免费存储还是很香的,所以想试试怎么通过接口的方式使用,但是最后发现不能在web端使用,只能通过后端来访问,而且R2用的是亚马逊的s3接口标准,文档:https://developers.cloudflare.com/r2/examples/aws/

使用的时候,选择自己的后端服务语言,如果你是python,可以使用boto3这个sdk,如果是别的,在文档里都有相关说明

选择对应的sdk接口,然后使用一个实例访问。

需要创建一个api密钥:

下面三个是必须要记下的,只会显示这一次:

然后使用官方的demo,替换里面的密钥为刚才生成的:

如果你在前端页面中使用js的sdk访问,会出现400的响应:

但是如果你放在node环境中就可以正常使用:

Preflight response is not successful. Status code: 400

如果是python端,也可以使用demo:

python 复制代码
import os
import boto3
from botocore.client import Config


def init_s3(end_point, access_key, secret_key, region_name='auto'):
    return boto3.client(
        's3',
        aws_access_key_id=access_key,
        aws_secret_access_key=secret_key,
        use_ssl=True,
        region_name=region_name,
        endpoint_url=end_point,
        config=Config(s3={"addressing\_style": "path"})
    )


s3_endpoint = "xxxxxxxxxxxxxx"  # 换成你自己的
s3_access_key = "xxxxxxxxxxxxxx"  # 换成你自己的
s3_secret_key = "xxxxxxxxxxxxxx"  # 换成你自己的
region_name = "auto"
s3 = init_s3(s3_endpoint, s3_access_key, s3_secret_key, region_name)

buckets = s3.list_buckets()['Buckets']
print(buckets)

可以得到响应:

相关推荐
徐小夕2 小时前
JitWord Office预览引擎:如何用Vue3+Node.js打造丝滑的PDF/Excel/PPT嵌入方案
前端·vue.js·github
晴殇i2 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
孟陬2 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
BER_c2 小时前
前端权限校验最佳实践:一个健壮的柯里化工具函数
前端·javascript
兆子龙2 小时前
别再用 useState / data 管 Tabs 的 activeKey 了:和 URL 绑定才香
前端·架构
sudo_jin2 小时前
前端包管理器演进史:为什么 npm 之后,Yarn 和 pnpm 成了新宠?
前端·npm
叁两3 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
golang学习记3 小时前
GitLens 十大神技:彻底改变你在 VS Code 中的 Git 工作流
前端·后端·visual studio code
SuperEugene3 小时前
后台权限与菜单渲染:基于路由和后端返回的几种实现方式
前端·javascript·vue.js
兆子龙3 小时前
WebSocket 入门:是什么、有什么用、脚本能帮你做什么
前端·架构