Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. <template>
  2. <div class="droparea" @dragover.prevent @drop="onDrop">
  3. <label v-if="!image">D&D
  4. <input type="file" name="image" @change="onChange">
  5. </label>
  6. <div v-else :class="{ 'image': true }">
  7. <img :src="image" />
  8. <button @click="removeFile">REMOVE</button>
  9. </div>
  10. </div>
  11. </template>
  12.  
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. image: '',
  18. }
  19. },
  20. methods: {
  21. onDrop(evt) {
  22. evt.stopPropagation();
  23. evt.preventDefault();
  24. const files = evt.dataTransfer.files;
  25. this.createFile(files[0]);
  26. },
  27. onChange(evt) {
  28. const files = evt.target.files;
  29. this.createFile(files[0]);
  30. },
  31. createFile(file) {
  32. if (!file.type.match('image.*')) {
  33. alert('Select an image');
  34. return;
  35. }
  36. const img = new Image();
  37. const reader = new FileReader();
  38. reader.onload = (evt) => {
  39. this.image = evt.target.result;
  40. }
  41. reader.readAsDataURL(file);
  42. },
  43. removeFile() {
  44. this.image = '';
  45. }
  46. }
  47. }
  48. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement