1

I'm trying to upload an image which is in base64 format using below code

upload: function(e) { 
      const tmpFiles = e.target.files;
      if (tmpFiles.length === 0) {
            return false;
      }
      const file = tmpFiles[0]; 
      const self = this;
      const reader = new FileReader();
      reader.onload = function(e) {
      self.form.imageData.push(e.target.result);
     }
}

issue is if i access this.form.imageData outside onload function then i get null and in my controller also i'm not getting image data, but when i print it using self.form.imageData inside onload function then i get image data in base64 encoded format.

Any help is highly appreciated.

Dorinel Panaite
  • 492
  • 1
  • 6
  • 15
user3653474
  • 3,393
  • 6
  • 49
  • 135
  • You need to run the ajax call inside the reader's onload method. –  Jan 02 '21 at 15:44
  • Duplicate: [Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference](https://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) –  Jan 02 '21 at 15:45

0 Answers0