Home Reference Source

src/utils/image.js

/**
 * @external {File} https://developer.mozilla.org/en-US/docs/Web/API/File
 */

/**
 * Image utilities
 */
class ImageUtils {
  /**
   * Promise that reads an image file and returns the file data when finished
   *
   * @param {File} file
   * @return {Promise<String>}
   */
  static getFileData(file) {
    return new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.addEventListener('load', ({ target }) => {
        resolve(target.result !== 'data:' ? target.result : null);
      });
      reader.addEventListener('error', error => reject(error));
      reader.readAsDataURL(file);
    });
  }
}

export default ImageUtils;