1.0.0 • Published 3 years ago

tiny-ali-oss v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

tiny-ali-oss (forked from Alex1990/tiny-oss)

缩减版ali-oss SDK, 提供上传及获取文件带签名访问链接

Installation

Npm

npm i -S tiny-ali-oss

Yarn

yarn add tiny-ali-oss

Usage

Basic

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);

Upload progress

获取上传进度(xhr.onprogress)

// Upload progress
oss.put('hello-world', blob, {
  progress (process) {
    console.log('process:', process + '%');
  }
});

Upload abort

取消上传

// Upload abort
let abortFn = null;
oss.put('hello-world', blob, {
  xhrInit(xhr, abort) {
    abortFn = abort;
  }
});

cancelBtn.onclick = () => {
  abortFn && abortFn();
}

Download url

获取带签名访问链接

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.

Compatibility

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.

API

new TinyAliOSS(options)

options

Please check Browser.js offical document.

  • accessKeyId
  • accessKeySecret
  • stsToken
  • bucket
  • endpoint
  • region
  • secure
  • timeout
  • policy

put(objectName, blob, options)

上传

Arguments

Return

  • (Promise)

putSymlink(objectName, targetObjectName)

获取软连接.

Arguments

  • objectName (String): 路径+文件名.
  • targetObjectName (String): 目标文件名.

Return

  • (Promise)

signatureUrl(objectName, options)

获取文件带签名访问链接

Arguments

Return

  • (String)

LICENSE

MIT