title: HTML5 File API XmlHttpRequest send(file) different than sending readAsBinaryString() result
body: <p>I thought these two pieces of code (they work in Chrome and Firefox) were supposed to do the same thing, but they behave in different ways.  They send the binary contents of a file via an <code>XmlHttpRequest</code> object.</p>
  
  <p>Direct XHR send:</p>
  
  <pre><code>xhr.send(file);
  </code></pre>
  
  <p>Read file and send contents via XHR:</p>
  
  <pre><code>var reader = new FileReader();
  reader.onload = function(event) {
      xhr.send(event.target.result);
  };
  reader.readAsBinaryString(file);
  </code></pre>
  
  <p>File bytes sent do not match between requests (in the second one, the file is larger than in the first one, and the file gets corrupted).</p>
  
  <p>I need to make the second option work.</p>
  
  <p>Any ideas?</p>