I am trying to make a react native application that requires converting a file on the local device into a javascript File object or Blob, but it has an address using the file:// protocol. According to this Medium article, you can use XMLHttpRequest to turn the URI into a Blob:
uriToBlob = (uri) => {
   return new Promise((resolve, reject) => {
      const xhr = new XMLHttpRequest();
      xhr.onload = function() {
         // return the blob
         resolve(xhr.response);
      };
      xhr.onerror = function() {
      // something went wrong
      reject(new Error('uriToBlob failed'));
   };
   // this helps us get a blob
   xhr.responseType = 'blob';
   xhr.open('GET', uri, true);
   xhr.send(null);
   });
}
I am wondering how this is possible and if someone could give an explanation, considering that the URI doesn't use HTTP protocol? According to whatever documentation I could find, XMLHttpRequest is only used for HTTP requests to a server?