0.5.19 • Published 2 years ago

@myshell/vue-image-chooser v0.5.19

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

vue-image-chooser

This is vue plugin with simple component for choosing image. It supports easy implementation for image upload to the backend.

Installation

npm i vue-image-chooser --save

Registring plugin:

import VueImageChooser from 'vue-image-chooser'

Vue.use(VueImageChooser)

This will make vue-image-chooser component globaly available. Bellow is example how to use it with axios library

<div class="MyContent">
  <h1>Click on chooser to choose image</h1>
  <div style="width:400px;margin: 0 auto">
    <vue-image-chooser name="image-chooser" @change="uploadFile" :progress="progress" :error="error"/>
  </div>
</div>
export default {
  data() {
    return {
      progress: null,
      error: null,
    }
  },
  methods: {
    uploadFile(file) {
      this.progress = 0;
      let formData = new FormData();
      formData.append('image', file);
      var config = {
        onUploadProgress: progressEvent => {
          var percentCompleted = Math.round(
            (progressEvent.loaded * 100) / progressEvent.total
          )
          this.progress = percentCompleted
        }
      }
      try {
        const { data } = await axios.post(
          '/api/route/to/upload/image',
          formData,
          config
        )
      } catch (e) {
        this.error = 'Error has occured'
      }
    }
  }
}

Usage

The component takes five props:

  • name (String): Required prop, must be unique (you can consider it like id)
  • progress (Number): Number between 0-100. If it is null or 100 component consider uploading process finished.
  • error (String): Error message in case that server responded with error
  • height (String): Default is 350px
  • displayName (String): Default is Add Photo - text that appears below the camera image
  • disabled (Boolean): Default is false - image can't be change

The component emits change event with single file as data, when it recieve an image, after it can be uploaded as described above)

Example:

https://schumskie.github.io/vue-image-chooser/

NOTE:

Component by default has width of 100%. Because of that it should put in holder of desired width.

0.5.19

2 years ago

0.5.18

2 years ago

0.5.17

2 years ago

0.5.16

2 years ago

0.5.15

2 years ago

0.5.14

2 years ago