缩减版ali-oss SDK, 提供上传及获取文件带签名访问链接
Npm
npm i -S tiny-ali-oss
Yarn
yarn add tiny-ali-oss
import TinyAliOSS from 'tiny-ali-oss';
const oss = new TinyAliOSS({
accessKeyId: 'your accessKeyId',
accessKeySecret: 'your accessKeySecret',
stsToken: 'security token',
region: 'oss-cn-beijing',
bucket: 'your bucket'
});
const blob = new Blob(['hello world'], { type: 'text/plain' });
// Upload
oss.put('hello-world', blob);
获取上传进度(xhr.onprogress)
// Upload progress
oss.put('hello-world', blob, {
progress (process) {
console.log('process:', process + '%');
}
});
取消上传
// Upload abort
let abortFn = null;
oss.put('hello-world', blob, {
xhrInit(xhr, abort) {
abortFn = abort;
}
});
cancelBtn.onclick = () => {
abortFn && abortFn();
}
获取带签名访问链接
const url = oss.signatureUrl('img/1.png');
document.querySelector('img').src = url;
// Or
downloadBtn.onclick = () => {
window.location.href = url;
}
More options or methods see API.
This package depends on some modern Web APIs, such as Blob, Uint8Array, FileReader, Promise.
浏览器兼容.
- Chrome >= 20
- Edge >= 12
- IE >= 10
- Firefox >= 4
- Safari >= 8
- Opera >= 11
- Android >= 4.4.4
- iOS >= 8
For IE and low version FireFox, you should import a promise polyfill, such as es6-promise.
new TinyAliOSS(options)
Please check Browser.js offical document.
- accessKeyId
- accessKeySecret
- stsToken
- bucket
- endpoint
- region
- secure
- timeout
- policy
上传
- objectName (String): 路径+文件名.
- blob (Blob|File): input.file.
-
[options (Object)]
- [progress (Function)]
- [xhrInit (Function)]
- (Promise)
获取软连接.
- objectName (String): 路径+文件名.
- targetObjectName (String): 目标文件名.
- (Promise)
获取文件带签名访问链接
- objectName (String): 路径+文件名.
-
[options (Object)]:
- [options.expires (Number)]: 访问超时时间(秒).
- (String)
MIT