1.5.2 • Published 2 years ago

uss-js-sdk v1.5.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

uss-js-sdk

uss web js sdk.

Installation

  • import from cdn
<script src="https://unpkg.com/uss-js-sdk/dist/uss-js-sdk.js"></script>

USS object will be set in window.

  • install from npm
yarn config set registry https://npm.shopee.io
yarn add uss-js-sdk

Getting Started

  • npm
  1. Construct uss object.
import USS, { UploaderEvents } from 'uss-js-sdk'
// by appId and appSecret

const uss = new USS({
  appId: 'xxxxx',
  appSecret: 'xxxxx',
  baseUrl: 'xxxxx'
})

// by appId and token
const uss = new USS({
  appId: 'xxxxx',
  token: 'xxxxx',
  baseUrl: 'xxxxx'
})
  1. init uss
// it is a async function, we must run it
await uss.init()
  1. create bucket
// it is a async function, we must to run it when we don't have a bucket
await uss.createBucket('test')

// other:
// bucket list
await uss.getBucketList()
// delete bucket
await uss.deleteBucket('test')
  1. init uploader
const uploader = uss.initUploader({
  bucket: 'test'
})
  1. upload a file
// it isn't required
uploader.on(UploaderEvents.fileProgress, (info) => {
  console.log(info)
})

// get file by element id
const file = document.querySelector('#fileId').file.files[0]

const result = await uploader.putFile({
  file,
  // it isn't required
  onUploadProgress: (event) => {
    uploader.emit(UploaderEvents.fileProgress, event)
  }
})
  1. upload a buffer
import { getArrayBuffer } from 'uss-js-sdk'

// it isn't required
uploader.on(UploaderEvents.fileProgress, (info) => {
  console.log(info)
})

// get file by element id
const file = document.querySelector('#fileId').file.files[0]
// get buffer by file
const buffer = await getArrayBuffer(file)

const result = await uploader.putBuffer({
  fileBuffer: buffer,
  contentType: 'application/pdf',
  fileName: 'test',
  // it isn't required
  onUploadProgress: (event) => {
    uploader.emit(UploaderEvents.fileProgress, event)
  }
})

API Documentation

  • Get upload progress
import { UploaderEvents, IUploadProgressInfo } from 'uss-js-sdk'

// ...

function handleUploadProgress(info: IUploadProgressInfo) {
  console.log(info)
}

// Get upload progress
uploader.on(UploaderEvents.fileProgress, handleUploadProgress)

const result = await uploader.putFile({
  // ...
  onUploadProgress: (event) => {
    uploader.emit(UploaderEvents.fileProgress, event)
  }
})
// `uploader.putFile` return a Promise, resolved when upload success, rejected when upload failed.
  • Cancel upload

    The cancel method support resume from breakpoint

uploader.cancel()
  • Resume upload

    The resume should be called when request is canceled.

uploader.resume()
  • Resume from breakpoint

    The SDK supports automatic breakpoint continuation function without additional operations. When the upload is unexpectedly terminated (e.g. browser closed, network interrupted, etc.), you can upload the file again and continue from the interrupted point, reducing the repeated upload time.

API Definition

new USS

ParamRequiredTypeDescription
appIdtruestringapp id
appSecrettruestringapp secret
baseUrltruestringserver domain
timeoutfalsenumberRequest timed out

uss.createBucket

ParamRequiredTypeDescription
bucketNametruestringbucket name

uss.deleteFile

ParamRequiredTypeDescription
bucketNametruestringbucket name
fileFidstruestring[]fid list

uss.initUploader

ParamRequiredTypeDescription
bucketNametruestringbucket name
authorizationfalsestringauthorization
sliceSizefalsenumberslice size
uploadDomainfalsestringupload domain
domainfalsestringserver domain
concurrencyfalsenumberconcurrency

uploader.putFile

ParamRequiredTypeDescription
filetrueFileFile object
contentTypefalseMIMEfile type
fileNamefalsestringfile name
onUploadProgressfalsefunctioncallback file upload progress

uploader.putBuffer

ParamRequiredTypeDescription
filetrueFileFile object
contentTypetrueMIMEfile type
fileNametruestringfile name
onUploadProgressfalsefunctioncallback file upload progress

uploader.on

ParamRequiredTypeDescription
eventNametruestringevent name
callbacktruefunctioncallback event

uploader.emit

ParamRequiredTypeDescription
eventNametruestringevent name
datafalseobjectcallback data

Related Docs

1.5.2

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.0.4

2 years ago