全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
对象存储 OSS

安装

更新时间:2018-05-04 17:00:26

SDK安装

要求

  • 开通阿里云OSS服务,如果您还没不了解阿里云OSS服务,请登录OSS产品主页了解。详情请参见产品介绍

  • 创建AccessKeyId和AccessKeySecret,由于云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践。如果部署在服务端可以使用RAM子账号或STS来进行API访问或日常运维管控操作,如果部署在客户端请使用STS方式来进行API访问。详情请参见访问控制

环境要求

OSS BrowserJS-SDK基于Node.js环境构建,通过BrowserifyBabel产生适用于浏览器的代码。

但是由于浏览器环境的特殊性,有一些功能无法使用:

  • 流式上传:浏览器中无法设置chunked编码,用分片上传替代
  • 操作本地文件:浏览器中不能直接操作本地文件系统,用签名URL的方式下载
  • Bucket相关的操作(listBuckets/BucketACL/BucketLogging等),由于OSS暂时不支持Bucket相关的跨域请求,Bucket相关的操作可以在控制台进行

使用方式

OSS BrowserJS-SDK同时支持同步和异步的使用方式,参考这篇文章

  • 同步方式:类似协程的方式,基于Generator Function,使用coyield
  • 异步方式:类似callback的方式,API接口返回Promise,使用.then()处理返回结果,使用.catch()处理错误

在同步方式中,使用new OSS()创建client,在异步方式中,使用new OSS.Wrapper()创建client。

下面分别举例,先上传一个文件,然后立即下载这个文件:

同步方式

  1. // var client = new OSS(...);
  2. var co = require('co');
  3. co(function* () {
  4. var r1 = yield client.put('object', '/tmp/file');
  5. console.log('put success: %j', r1);
  6. var r2 = yield client.get('object');
  7. console.log('get success: %j', r2);
  8. }).catch(function (err) {
  9. console.error('error: %j', err);
  10. });

异步方式

  1. // var client = new OSS.Wrapper(...);
  2. client.put('object', '/tmp/file').then(function (r1) {
  3. console.log('put success: %j', r1);
  4. return client.get('object');
  5. }).then(function (r2) {
  6. console.log('get success: %j', r2);
  7. }).catch(function (err) {
  8. console.error('error: %j', err);
  9. });

安装

在浏览器中使用

支持的浏览器:

  • IE(>=10)和Edge
  • 主流版本的Chrome/Firefox/Safari
  • 主流版本的Android/iOS/WindowsPhone
浏览器引入:

注意:因为部分浏览器不支持promise,需要引入promise兼容库。
例如:IE10和IE11 需要引入promise-polyfill。

  1. <!-- 引入在线资源 -->
  2. <script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-x.x.x.min.js"></script>
  1. <!-- 引入本地资源 -->
  2. <script src="./aliyun-oss-sdk-x.x.x.min.js"></script>

注意:

  • x.x.x代表版本号,具体版本信息可在这访问查看
  • 引入在线资源方式依赖于CDN服务器的稳定性,推荐用户使用离线方式引入,即通过本地资源或自行构建的方式。

就可以在代码中使用OSS.Wrapper对象:

  1. <script type="text/javascript">
  2. var client = new OSS.Wrapper({
  3. region: '<oss region>',
  4. //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
  5. accessKeyId: '<Your accessKeyId(STS)>',
  6. accessKeySecret: '<Your accessKeySecret(STS)>',
  7. stsToken: '<Your securityToken(STS)>',
  8. bucket: '<Your bucket name>'
  9. });
  10. </script>
使用npm安装SDK的开发包:
  1. npm install ali-oss

成功安装完成之后,即可使用 import 或 require 进行引用。

  1. var OSS = require('ali-oss');
  2. var client = new OSS.Wrapper({
  3. region: '<oss region>',
  4. //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,部署在服务端使用RAM子账号或STS,部署在客户端使用STS。
  5. accessKeyId: '<Your accessKeyId>',
  6. accessKeySecret: '<Your accessKeySecret>',
  7. bucket: '<Your bucket name>'
  8. });
使用Bower:

对于Web项目,你也可以通过Bower安装SDK:

  1. bower install ali-oss

然后在网页中添加<script>标签:

  1. <script src="bower_components/ali-oss/dist/aliyun-oss-sdk.min.js"></script>
本文导读目录