Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
documents
example
src
unitest
.babelrc
.esdoc.json
.eslintrc.js
.gitignore
.npmignore
.travis.yml
README.md
esdoc.sh
karma.conf.babel.js
karma.conf.js
package.json
saucelabs.json
webpack.common.config.babel.js
webpack.develop.config.babel.js
webpack.example.config.babel.js
webpack.product.config.babel.js

README.md

GitHub version npm version js-standard-style

Build Status codecov Document Dependency Status

Build Status

七牛上传控件

事例

文档

安装

yarn add qiniup

特点

  • 支持分块分片上传
  • 支持断点续传
  • 支持 base64 文件上传

使用

import { Uploader } from 'qiniup'

// Docs: https://doc.esdoc.org/github.com/DavidKk/qiniu-uploader/class/src/uploader.js~Uploader.html#instance-constructor-constructor
let qiniup = new Uploader()

let params = { token: 'generated by sdk' }

// Docs: https://doc.esdoc.org/github.com/DavidKk/qiniu-uploader/class/src/uploader.js~Uploader.html#instance-method-upload
qiniup.upload(file, params, { resumingByFileSize: 4 * 1024 * 1024 /** 默认也为 4M, 如果大于4M则使用分块分片(同时支持断点续传)上传 */ }, function (error) {
  if (error) {
    console.log(error)
    return
  }

  // upload success, somthing todo...
})

动态获取 token

let qiniup = new Uploader({
  tokenGetter (callback) {
    // do some async or sync request logic to get token
    callback(null, token)

    // or
    // 同时也可以设置过期时间(在 0.2.0 版本以上才适用)
    callback(null, { token, expire })
  }
})

获取上传状态

let progress = (event) => {
  console.log('当前进度为', event.loaded)
  console.log('总进度为', event.total)
  console.log('进程百分比', event.loaded / event.total)

  console.log('上传事件类型', event.type)
  console.log('当前上传进程', event.process)
  console.log('所有已注册上传进程', event.processes)
}

// `resumingByFileSize = 0` 表示一定使用分段上传
qiniup.upload(file, params, { resumingByFileSize: 0, progress }, function () {
  // do something...
})