perhaps this can help other people, even if the problem is resolved for you:
1) be sure you force your browser to IE10 : <meta http-equiv="X-UA-Compatible" content="IE=edge">
2) don't use reader.readAsBinaryString(file);
but reader.readAsDataURL(file);
for IE
3) send the XHR object with xhr.send
and do not use btoa
(just do xhr.send((bin));
)
4) Generally, in order your code to be comptatible with all browser, use if (navigator.appName === "Microsoft Internet Explorer") { ... }
and open your XHR object with a different target for each browser (like this: xhr.open('POST', targetPHP+'?up=true&browser=IE', true);
), because if will be handled differently by PHP.
Everything is explained here : How can i change the XmlHttpRequest or FileAPI used in html5uploader to support IE