Guest User

Untitled

a guest
Jan 19th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. <template>
  2. <div id="fileUploader">
  3. <input @change="detectFiles($event)" type="file" multiple id="files">
  4. <div id="uploadPreview" v-for="file in rawPreviews">
  5. <img :src="file" height="150" width="150">
  6. </div>
  7. </div>
  8. </template>
  9.  
  10. <script>
  11. export default {
  12. name: "FileUpload",
  13. props: [],
  14. data() {
  15. return {
  16. selectedFiles: [],
  17. totalSelected: 0,
  18. rawPreviews: []
  19. };
  20. },
  21. methods: {
  22. detectFiles(e) {
  23. let files = e.target.files || e.dataTransfer.files;
  24. if (files[0] !== undefined) {
  25. Array.from(Array(files.length).keys()).map(x => {
  26. let reader = new FileReader();
  27. let file = files[x];
  28. let that = this;
  29.  
  30. reader.onload = function(event) {
  31. that.rawPreviews.push(event.target.result);
  32. file.raw = event.target.result;
  33. };
  34. reader.readAsDataURL(file);
  35.  
  36. this.selectedFiles.push(file);
  37. console.log(file);
  38. });
  39. } else {
  40. this.selectedFiles = [];
  41. this.totalSelected = 0;
  42. this.rawPreviews = [];
  43. }
  44. }
  45. /* previewFiles() {
  46. let uploadPreview = document.getElementById("uploadPreview");
  47. let previews = this.rawPreviews;
  48. let numFiles = files.length;
  49. // Determine if image or other file type (PDF, word, txt, etc)
  50. // Maybe give 1 generic or some specific icons for other file type previews
  51. } */
  52. }
  53. };
  54. </script>
  55.  
  56. <style scoped>
  57. </style>
Add Comment
Please, Sign In to add comment