阿里雲團隊努力不懈,力求將最新的技術內容更快地以您最熟悉的語言呈現。本文由簡體中文內容自動轉碼而成,過程無人工干預。阿里雲不保證此自動轉碼的準確性、完整性及時效性。因轉碼造成的任何內容錯誤及因此可能帶來的損失,阿里雲概不負責,敬請見諒。本文内容請以簡體中文版本為準。
全部產品
Search
文件中心

安裝

更新時間: Oct 30, 2018

目前官網文檔中的demo都是基於SDK 6.X,版本低於6.X的可參考 5.X開發文檔, 升級6.X請移步升級文檔

要求

  • 開通阿里雲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同時支援同步和非同步使用方式

  • 同步方式:基於ES6規範的async/await,使得非同步方式同步化

  • 非同步方式:類似callback的方式,API介面返回Promise,使用.then()處理返回結果,使用.catch()處理錯誤

無論同步方式還是非同步方式,均使用new OSS()建立client。

下面分別舉例,先上傳一個檔案,然後立即下載這個檔案:

同步方式

  1. let client = new OSS(...);
  2. async function put () {
  3. try {
  4. let r1 = await client.put('object', '/tmp/file');
  5. console.log('put success: %j', r1);
  6. let r2 = await client.get('object');
  7. console.log('get success: %j', r2);
  8. } catch (e) {
  9. console.error('error: %j', e);
  10. }
  11. }
  12. put();

非同步方式

  1. let client = new OSS(...);
  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對象:

  1. <script type="text/javascript">
  2. let client = new OSS({
  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. let OSS = require('ali-oss');
  2. let client = new OSS({
  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>