JakariaAmin
10/29/2019 - 9:27 AM

JavaScript - Async FileReader

const fileContents = this.convertToBase64(event);


public convertToBase64 = async (event) => {
    const inputFile = event.target.files[0];
    const reader    = new FileReader();

    return await new Promise((resolve, reject) => {
        reader.onerror = (error) => {
            reader.abort();
            this.printConsole(true, 'log', 'LOG: convertToBase64: onerror: ', error);
            reject(new DOMException('Problem parsing input file.'));
        };

        reader.onload = () => {
            this.printConsole(true, 'log', 'LOG: convertToBase64: ', reader.result);
            resolve(reader.result);
        };
        reader.readAsDataURL(inputFile);
    });
}