javascriptfirefox-addonfirefox-addon-restartless

Convert URL to File or Blob for FileReader.readAsDataURL


Reference: FileReader.readAsDataURL

Considering the following example:

function previewFile(file) {

  var reader  = new FileReader();

  reader.onloadend = function () {
    console.log(reader.result);
  }
  reader.readAsDataURL(file);
}

It states:

instanceOfFileReader.readAsDataURL(blob);

blob: The Blob or File from which to read.

  1. How can a local file URL like: 'file:///C:/path-to/root.png' be passed to the readAsDataURL()

  2. Is FileReader() available in a Firefox Addon?


Solution

  • This information is outdated as of now, but cannot be deleted.

    1. You can create File instances just by specifying a path when your code is chrome-privileged:

      new File("/path/to/file");
      

      File is a sub-class of Blob, so all File instances are also valid Blobs. Please note that this requires a platform path, and not a file URL.

    2. Yes, FileReader is available to addons.

    File and FileReader are available in all windows. If you want to use them in a non-window scope (like bootstrap.js or a code module), you may use nsIDOMFile/nsIDOMFileReader.