Coder Social home page Coder Social logo

tiny-ali-oss's Introduction

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

  • objectName (String): 路径+文件名.
  • blob (Blob|File): input.file.
  • [options (Object)]
    • [progress (Function)]
    • [xhrInit (Function)]

Return

  • (Promise)

putSymlink(objectName, targetObjectName)

获取软连接.

Arguments

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

Return

  • (Promise)

signatureUrl(objectName, options)

获取文件带签名访问链接

Arguments

  • objectName (String): 路径+文件名.
  • [options (Object)]:
    • [options.expires (Number)]: 访问超时时间(秒).

Return

  • (String)

LICENSE

MIT

tiny-ali-oss's People

Contributors

vok123 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.