用于浏览器端的阿里云 OSS 极简版 SDK,专注于上传功能。小于 10kb (min+gzipped)。
English | 简体中文
Npm
npm install tiny-oss
Yarn
yarn add tiny-oss
const oss = new TinyOSS({
accessKeyId: 'your accessKeyId',
accessKeySecret: 'your accessKeySecret',
// 推荐在浏览器端使用 stsToken 参数
stsToken: 'security token',
region: 'oss-cn-beijing',
bucket: 'your bucket'
});
const blob = new Blob(['hello world'], { type: 'text/plain' });
// 上传
oss.put('hello-world', blob);
你可以指定第三个参数用于监听上传进度:
// Upload progress
oss.put('hello-world', blob, {
onprogress (e) {
console.log('total: ', e.total, ', uploaded: ', e.loaded);
}
});
更多配置参数或方法参考 API。
这个包依赖一些现代 Web APIs,比如 Blob, Uint8Array, FileReader, Promise.
所以应该在下面浏览器当中都能正常运行。
- Chrome >= 20
- Edge >= 12
- IE >= 10
- Firefox >= 4
- Safari >= 8
- Opera >= 11
- Android >= 4.4.4
- iOS >= 8
对于 IE 和低版本 Firefox(<= 28),你需要引入 Promise polyfill,比如 es6-promise。
new TinyOSS(options)
请参考Browser.js 官方文档关于配置项的说明。
- accessKeyId
- accessKeySecret
- stsToken
- bucket
- endpoint
- region
- secure
- timeout
上传。
- objectName (String):对象名称。
- blob (Blob|File): 被上传的对象。
- [options (Object)]
- [onprogress (Function)]: 上传进度事件监听器,接受一个 progress event 对象作为参数。
- (Promise)
创建一个软链接。
- objectName (String): 软链接对象名称。
- targetObjectName (String): 软链接目标对象名称。
- (Promise)
获取一个签名的 URL,可用于下载文件。
- objectName (String): 对象名称。
- [options (Object)]:
- [options.expires (Number)]: URL 过期时间(单位:秒)。
- (String)
MIT