ali-oss:
作业:
1、用户中心,用户的个人信息,加上一个头像管理,不需要裁剪功能,头像图片使用第三方分布式存储。
2,商品管理中心,针对于商品的图片,结合第三方存储来管理。
按量付费:
阿里云全新推出的付费模式,按实际使用量后付费开通,可随时开启随时释放。按需取用,按需付费,无需购买大量设备,相比于传统主机投入成本降低30%-80%;支持多种主流操作系统,让我们以服务的方式使用计算及存储资源。
云存储:
是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。
云存储:
不单单包括文件存储,还包括数据存储。是一个分布式的文件系统
学会搭建环境:
1、lamp环境搭建
2、lnmp环境搭建
第三方存储:
ali-oss(对象存储或者云存储)、七牛云存储,又拍云存储
ali-oss流程:
开始——>开通oss服务——>创建存储空间(设置私有权限)——>上传文件——>分享文件——>删除文件——>删除存储空间——>结束
上传成功后用回调函数获取url地址开始调用
断点下载:
在Linux里下载用wget -c进行断点续传
断点续传:
我们在上传一个资源的时候,如果上传到%99,网突然卡掉,网络中断,无法上传,等待网络恢复正常时,断点续传可以接着继续上传,不用从头开始上传。
安装ali-oss:
npm install ali-oss
使用同步方式:
npm install co
使用异步方式:
使用callback方式调用
分片上传:
在需要上传的文件较大时,可以通过multipartUpload接口进行分片上传。分片上传的好处是将一个大请求分成多个小请求来执行,这样当其中一些请求失败后,不需要重新上传整个文件,而只需要上传失败的分片就可以了,一般对于大于100MB的文件,建议采用分片上传的方法。
OSS访问的URL
假如用户使用HTTPS请求杭州的OSS,Bucket名字叫oss-sample, Object名字叫mytest/oss-test-object, 那么用户访问的三级域名为:
https://oss-sample.oss-cn-hangzhou.aliyuncs.com/mytest/oss-test-object
用户可以直接将Object的URL链接放入HTML中使用,如下所示:
![](https://oss-example.oss-cn-hangzhou.aliyuncs.com/aliyun-logo.png)
AccessKey可以创建子账号
oss开通Region和Endpoint
华东1(杭州)华东2(上海)华北1(青岛)华北2(北京)华南1(深圳)
删除文件
var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: 'Your bucket name'
});
co(function* () {
var result = yield client.delete('object-key');
console.log(result);
}).catch(function (err) {
console.log(err);
});
查看所有文件
var co = require('co');
var OSS = require('ali-oss');
var client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: 'Your bucket name'
});
co(function* () {
// 不带任何参数,默认最多返回1000个文件
var result = yield client.list();
console.log(result);
// 根据nextMarker继续列出文件
if (result.isTruncated) {
var result = yield client.list({
marker: result.nextMarker
});
}
// 列出前缀为'my-'的文件
var result = yield client.list({
prefix: 'my-'
});
console.log(result);
// 列出前缀为'my-'且在'my-object'之后的文件
var result = yield client.list({
prefix: 'my-',
marker: 'my-object'
});
console.log(result);
}).catch(function (err) {
console.log(err);
});