七牛
七牛是一个很神奇的东西,每个月10G的流量,方便快捷的上传、获取资源,不论在什么情景下,处理用户上传的较小的文件,七牛不仅缓解了服务器的压力,更方便快捷地完成这些操作!
七牛开发者中心有更完整详细的文档介绍,接下来写的是在Web上处理客户端的文件上传和讲网络资源抓取到七牛空间
文件上传
上传机制:客户端对文件进行上传,先向服务器发送请求,服务器返回凭证给客户端,客户端用凭证找到对应的七牛空间并把文件存在既定的位置,然后七牛返回处理结果给客户端。
所以在文件上传中最重要的
accessKey
和secretKey
,它们是生成上传token的关键,七牛的每个用户都会有唯一的accessKey
和secretKey
。
|
|
token.js
封装了凭证的获取,bucket
是七牛中存储的库,expires
是设置token
的过期时间,默认为3600ms(一小时)。
|
|
|
|
upload.js
中的key
是指在bucket
中文件的命名,并用了Experss
框架将数据渲染给ejs
中的表单,表单中的key
、token
、file
是必需的元素,这是最简单地构成上传的表单,其余更多的元素在开发者文档中慢慢摸索,如此即可将文件上传到七牛指定的bucket
中以既定的key
存储。
网络资源抓取
七牛自身提供了途径去换取网络资源并将网络资源存储在七牛空间,这样就可以当资源下载慢的时候,交给七牛去下载并存储,缓解服务器压力。
|
|
此处还是用到了
Express
框架,主要是获取资源的Url
和渲染结果;对网络资源的抓取是不需要生成token
,但也是需要accessKey
和secretKey
, 接着是存储的库bucket
和命名key
,需要的东西都已经封装好了,直接调用就可以抓取网络资源。
结语
七牛自身提供了很多接口,所以开发者利用七牛进行对象存储的时候很方便,以上写的文件上传和抓取网络资源是比较常见也是比较简单的例子;七牛是个神奇的东西!