首先,附上阿里云对象存储OSS官方文档地址

以下为整理的常用上传方式,基本优势劣势有个简单说明,并附上对应文档地址(OSS的文档还是比较丰富的,就是目录比较乱下,看中方案了可以直接去文档里面抄代码);

分类 使用方式及文档地址 简单说明优缺点 适用场景

前端表单直传OSS服务器

1.1、js客户端签名并直传 在客户端通过JavaScript代码完成签名,无需过多配置,即可实现直传,非常方便。但是客户端通过JavaScript把AccesssKeyID和AccessKeySecret写在代码里面有泄露的风险 只推荐在能完全信任的内网环境使用
1.2、 js获取服务端签名后直传 STS Web端向服务端请求签名,然后直接上传,不会对服务端产生压力,而且安全可靠。但服务端无法实时了解用户上传了多少文件,上传了什么文件。 适用于前后端分离项目绝大部分场景;其中文件上传后的信息由前端在实际业务中提交到后端进行保存;
1.3、js获取 服务端签名直传并设置上传回调 用户上传完文件后,不会直接得到返回结果,而是先通知应用服务器,再把结果转达给用户 大多数情况下,用户上传文件后,应用服务器需要知道用户上传了哪些文件以及文件名;如果上传了图片,还需要知道图片的大小等,此时可以使用上传回调方案。
移动应用直传服务器 2.1官方文档 移动端发送请求到服务端获取临时签名,然后直传文件到OSS 适用于前后端分离项目绝大部分场景;其中文件上传后的信息由前端在实际业务中提交到后端进行保存;
2.2 回调文档 移动应用直传回调 大多数情况下,用户上传文件后,应用服务器需要知道用户上传了哪些文件以及文件名;如果上传了图片,还需要知道图片的大小等,此时可以使用上传回调方案。
ecs中转 3.1 post到自己的ecs服务器,再上传oss 通过自己的服务来做一次中转,会消耗ecs资源,但是上传文件可本地保留备份 一些文件上传低频B端应用可以使用该方案

前面文档中以服务端java代码为主,为了方便非java服务端开发人员,这里附上对应的客户端调用SDK文档地址SDK示例 - 对象存储 OSS - 阿里云

推荐用法

        无,各场景不同,适合的方式不一样;可以参考上面写到的适用场景,资料仅为参考,自己的判断力更重要,加油!

备注:前面提到的都是一些基本场景,如果涉及到CDN以及多地冗余的高端应用,可以自己再去去看看文档,在配置上会有相应差异

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐