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

JavascriptWeb DevelopmentFront End Scripts

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);
}
raja
Updated on 25-Jun-2020 07:49:37

Advertisements