腾讯云对象存储概览
对象存储的主要使用场景是不适合放到数据库里的数据,比如底层日志、图片、音频、视频等。
使用对象存储既简便安全,又可以节省业务带宽,又可以配合cdn加速,价格也不算贵,推荐使用。
本文以Web端直传实践为例,基于腾讯云COS做一个快速概览。
Web端直传实践
业务场景
假设我们有用户上传图片或视频的需求,通常的做法是在后台服务器起一个服务,用来处理用户上传文件的需求,设置跨域访问限制,上传成功后返回一个指向上传资源的网址。
不足
这种做法有一个天生不足,如果用户上传的时间点很集中,并且上传的文件比较大,会挤爆业务宽带。
而且上传的文件,如果想要使用cdn还需要额外的操作。
使用cos
腾讯有Web端直传实践的文档。
前端的简易示例文档在这里,使用cos-js-sdk
的文档在这里。
cos控制台需要留意的地方有:
尽量不要使用*
,使用业务域名。
前端需要留意的地方有:
- 不要使用国外cdn
在腾讯的文档示例中,cos-auth.min.js
是使用的cdn网址https://unpkg.com/cos-js-sdk-v5/demo/common/cos-auth.min.js
,在正式环境中不要使用unpkg.com
,在国内环境经常会无法顺畅访问。
后端需要留意的地方有:
- 权限校验
在前端向后端请求临时密钥时,应校验前端权限(比如验证上传的用户身份),否则可能被攻击。