如何 HTTPS 訪問
初始化 SDK 時,可傳入以下幾個參數:
- region: 參數是指您申請 OSS 服務時的區域,例如
oss-cn-hangzhou
。完整的區域列表可以在 OSS 服務節點查看。 - internal: 配合
region
使用,如果指定internal
為true
,則訪問內網節點。 - secure: 配合
region
使用,如果指定了secure
為true
,則使用 HTTPS 訪問。 - endpoint: 例如
http://oss-cn-hangzhou.aliyuncs.com
,如果指定了endpoint
,則region
會被忽略,endpoint
可以指定HTTPS,也可以是IP形式。
如何獲取上傳進度
使用分區上傳時,可獲取上傳進度。
如何獲取下載進度
Node 中可根據下載流的大小來計算進度。
如何上傳base64編碼的圖片
將 Base64 內容轉換成 File 對象,在調用介面上傳至 OSS 伺服器。
function dataURLtoFile(dataurl, filename) {
let arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
}
let file = dataURLtoFile('<base64 content>', '');
client.multipartUpload('<oss file name>', file).then( (res)=> {
console.log(res)
}).catch((err) => {
console.log(err)
});
如何上傳檔案到指定目錄
給要上傳的 object 名稱前加指定目錄首碼即可,可參考OSS 和檔案系統對比。
let OSS = require('ali-oss')
let client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: 'Your bucket name'
});
client.multipartUpload('base-dir/' +'object-key', 'local-file', {
progress: async function (p) {
console.log('Progress: ' + p);
}
});
console.log(result);
}).then((res) => {
console.log(res)
}). catch((err) => {
console.log(err);
});
如何獲取object的簽名URL
可調用 signatureUrl
方法,獲取下載地址,可查看相關文檔。