0.1.11 • Published 7 years ago

dolu v0.1.11

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

Dolu

A tool for photo uploding in formdata.

1. Download

yarn add dolu

2. Usage

Both es6 and AMD are supported by Dolu

# es6
import Dolu from 'dolu'

# AMD
const Dolu = require('Dolu')

After importing/requiring, create an instance:

const dolu = new Dolu(config)

3. Configuration

paramstypedescriptiondefaultrequired
pickerStringselector of your <input> pickernullno
autoSendBooleanupload after file picking immediatelyfalseno
quantityNumberthe quantity of photoes4no
uploaderFunctiondefined your upload function, dolu.send()() => {}no
getDataUrlsFunctionreceive a base64 array transform from your photoes() => {}no
getFormDatasFunctionreceive a formdata array transform from your photoes() => {}no

uploader: receive two params: data and index. Param data is type of formdata, and param index is the number of a photo.

4. Methods

  • send(Array). This method receive an array in type of base64 string or formdata, and upload it one by one after triggering it.
dolulu.send(yourArray)
  • getUrl(). This method receive one base64 string, and return a formdata as a param to the callback function.
dolu.getUrl(base64String, (formdata) => {
  // do whatever you want
})

5. Examples

  1. Using <input> tag:
import Dolu from './dolu'
import axios from 'axios'

const dolu = new Dolu({
  // define the `<input>` tag
  picker: '#picker',

  // define an upload function by using `axios`
  uploader(data, index) {
    axios({
      method: 'post',
      url: '/upload',
      data: data,
      onUploadProgress: (e) => {
        const percent = Math.round( (e.loaded * 100) / e.total )
        console.log(percent, index)
      }
    }).then((res) => {
      console.log(res)
    }).catch((err) => {
      console.log(err)
    })
  },

  // receive an array in type of `base64`
  getDataUrls(arr) {
    console.log(arr)
  },

  // upload manually
  getFormDatas(arr) {
    dolu.send(arr)
  }
})
  1. Upload base64 array
import Dolu from './dolu'
import axios from 'axios'

const dolu = new Dolu({
  uploader(data, index) {
    axios({
      method: 'post',
      url: '/upload',
      data: data,
      onUploadProgress: (e) => {
        const percent = Math.round( (e.loaded * 100) / e.total )
        console.log(percent, index)
      }
    }).then((res) => {
      console.log(res)
    }).catch((err) => {
      console.log(err)
    })
  }
})

const base64Arr = [ ... ] // a `base64` array

dolu.send(base64Arr)

6. Development

git clone https://github.com/jrainlau/dolu.git

cd dolu && yarn

# open a server for uploading test
yarn run server

# run dev
yarn run dev

Note: Dolu is under eslint-standard rule, everyone should observe it, nor won't allow to be run or build.

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago