OSS
OSS中的相关概念:
Endpoint:访问域名,通过该域名可以访问OSS服务的API,进行文件上传、下载等操作。
Bucket:存储空间,是存储对象的容器,所有存储对象都必须隶属于某个存储空间。
Object:对象,对象是 OSS 存储数据的基本单元,也被称为 OSS 的文件。
AccessKey:访问密钥,指的是访问身份验证中用到的 AccessKeyId 和 AccessKeySecret。
创建存储空间:
点击网页右上角控制台按钮进入控制台

选择我的云产品中的对象存储OSS

点击左侧存储空间的加号新建存储空间

新建存储空间并设置读写权限为公共读

跨域资源共享(CORS)的设置:
由于浏览器处于安全考虑,不允许跨域资源访问,所以我们要设置OSS的跨域资源共享。
选择一个存储空间,打开其基础设置

点击跨越设置的设置按钮

点击创建规则

进行跨域规则设置

服务器直传:
每个OSS的用户都会用到上传服务。Web端常见的上传方法是用户在浏览器或App端上传文件到应用服务器,应用服务器再把文件上传到OSS。具体流程如下图所示。

和数据直传到OSS相比,以上方法有三个缺点:
上传慢:用户数据需先上传到应用服务器,之后再上传到OSS。网络传输时间比直传到OSS多一倍。如果用户数据不通过应用服务器中转,而是直传到OSS,速度将大大提升。而且OSS采用BGP带宽,能保证各地各运营商之间的传输速度。
扩展性差:如果后续用户多了,应用服务器会成为瓶颈。
费用高:需要准备多台应用服务器。由于OSS上传流量是免费的,如果数据直传到OSS,不通过应用服务器,那么将能省下几台应用服务器。
服务端签名后前端直传的相关说明:
Web端向服务端请求签名,然后直接上传,不会对服务端产生压力,而且安全可靠。但本示例中的服务端无法实时了解用户上传了多少文件,上传了什么文件。如果想实时了解用户上传了什么文件,可以采用服务端签名直传并设置上传回调。

流程介绍
Web前端请求应用服务器,获取上传所需参数(如OSS的accessKeyId、policy、callback等参数)
应用服务器返回相关参数
Web前端直接向OSS服务发起上传文件请求
等上传完成后OSS服务会回调应用服务器的回调接口(不实现)
应用服务器返回响应给OSS服务(不实现)
OSS服务将应用服务器回调接口的内容返回给Web前端

浙公网安备 33010602011771号