SDK安裝
目前官網文檔中的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環境構建,通過Browserify和Babel產生適用於瀏覽器的代碼。
但是由於瀏覽器環境的特殊性,有一些功能無法使用:
- 流式上傳:瀏覽器中無法設定chunked編碼,用分區上傳替代
- 操作本地檔案:瀏覽器中不能直接操作本地檔案系統,用簽名URL的方式下載
- Bucket相關的操作(listBuckets/BucketACL/BucketLogging等),由於OSS暫時不支援Bucket相關的跨域請求,Bucket相關的操作可以在控制台進行
使用方式
OSS BrowserJS-SDK同時支援同步和非同步使用方式
同步方式:基於ES6規範的
async/await
,使得非同步方式同步化非同步方式:類似callback的方式,API介面返回Promise,使用
.then()
處理返回結果,使用.catch()
處理錯誤
無論同步方式還是非同步方式,均使用new OSS()
建立client。
下面分別舉例,先上傳一個檔案,然後立即下載這個檔案:
同步方式
let client = new OSS(...);
async function put () {
try {
let r1 = await client.put('object', '/tmp/file');
console.log('put success: %j', r1);
let r2 = await client.get('object');
console.log('get success: %j', r2);
} catch (e) {
console.error('error: %j', e);
}
}
put();
非同步方式
let client = new OSS(...);
client.put('object', '/tmp/file').then(function (r1) {
console.log('put success: %j', r1);
return client.get('object');
}).then(function (r2) {
console.log('get success: %j', r2);
}).catch(function (err) {
console.error('error: %j', err);
});
安裝
在瀏覽器中使用
支援的瀏覽器:
- IE(>=10)和Edge
- 主流版本的Chrome/Firefox/Safari
- 主流版本的Android/iOS/WindowsPhone
瀏覽器引入:
注意:因為部分瀏覽器不支援promise,需要引入promise相容庫。
例如:IE10和IE11 需要引入promise-polyfill。
<!-- 引入線上資源 -->
<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-x.x.x.min.js"></script>
<!-- 引入本地資源 -->
<script src="./aliyun-oss-sdk-x.x.x.min.js"></script>
注意:
- x.x.x代表版本號碼,具體版本資訊可在這訪問查看
- 引入線上資源方式依賴於CDN伺服器的穩定性,推薦使用者使用離線方式引入,即通過本地資源或自行構建的方式。
就可以在代碼中使用OSS
對象:
<script type="text/javascript">
let client = new OSS({
region: '<oss region>',
//雲帳號AccessKey有所有API存取權限,建議遵循阿里雲安全最佳實務,建立並使用STS方式來進行API訪問
accessKeyId: '<Your accessKeyId(STS)>',
accessKeySecret: '<Your accessKeySecret(STS)>',
stsToken: '<Your securityToken(STS)>',
bucket: '<Your bucket name>'
});
</script>
使用npm安裝SDK的開發包:
npm install ali-oss
成功安裝完成之後,即可使用 import 或 require 進行引用。
let OSS = require('ali-oss');
let client = new OSS({
region: '<oss region>',
//雲帳號AccessKey有所有API存取權限,建議遵循阿里雲安全最佳實務,部署在服務端使用RAM子帳號或STS,部署在用戶端使用STS。
accessKeyId: '<Your accessKeyId>',
accessKeySecret: '<Your accessKeySecret>',
bucket: '<Your bucket name>'
});
使用Bower:
對於Web項目,你也可以通過Bower安裝SDK:
bower install ali-oss
然後在網頁中添加<script>
標籤:
<script src="bower_components/ali-oss/dist/aliyun-oss-sdk.min.js"></script>