HTML5 File API readAsBinaryString reads files as much larger and different than files on disk


This may happen if you are reading your file as a binary string and forming the multipart/ form-data request manually.

You need to try and use xhr.send(File) and work around xhr progress event, which is fired when all list items had been already created.

Example

The following is our upload function −

function display(url, files) {
   var myForm = new FormData();
   for (var j = 0, file; file = files[j]; ++j) {
      myForm.append(file.name, file);
   }
   var xhr = new XMLHttpRequest();
   xhr.open('POST', url, true);
   xhr.onload = function(e) { ... };
   xhr.send(formData);
}

Updated on: 25-Jun-2020

83 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements