Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ionic : undefined is not a constructor FileReader

I have a problem when I create a FileReader (from @ionic-native/file) instance :

let f = new FileReader();

The following error occur :

TypeError: undefined is not a constructor (evaluating 'new __WEBPACK_IMPORTED_MODULE_2__ionic_native_file__["FileReader"]()')

I dont understand why !

My config is :

  • nodejs v8.9.1
  • npm : v5.5.&
  • ionic : 3.9.3
  • angular : v5.0.1
  • iOS emulator

For more informations I use this code :

private readFile(file: any) {
     const reader = new FileReader();
     reader.onloadend = () => {
        const formData = new FormData();
        const imgBlob = new Blob([reader.result], {type: file.type});
        formData.append('file', imgBlob, file.name);
        this.postData(formData);
    };
    reader.readAsArrayBuffer(file);
 }

An error occurs on new FileReader()

Thanks.

like image 697
Nassa Avatar asked Dec 13 '25 23:12

Nassa


1 Answers

The Cordova polyfill saves the original FileReader in FileReader._realReader You can reassign it by doing:

let fr= new FileReader(); 
let rfr = fr._realReader;

FileReader = rfr.constructor;
like image 108
Dan Levin Avatar answered Dec 16 '25 23:12

Dan Levin