У меня даже такой код не работает:
var reader = new FileReader();
var dataURL = reader.readAsDataURL("c:/fon.jpg");
var base64 = dataURL.replace(/^data:[^,]+,/, ""); // отрезаем начало
var binaryString = window.atob(base64); // разворачиваем Base64
В браузерах ничего в консоли не пишется... Можно как-то сделать чтобы debug был пооткровенней?)
А код из статьи был такой:
var dataURL = canvas.toDataURL("image/png"); // или результат чтения FileReader
var base64 = dataURL.replace(/^data:[^,]+,/, ""); // отрезаем начало
var binaryString = window.atob(base64); // разворачиваем Base64
// а теперь собираем muptipart, ничего сложного
var uniq = '1234567890';
var data = [
'--_'+ uniq
, 'Content-Disposition: form-data; name="my-file"; filename="hello-world.png"'
, 'Content-Type: image/png'
, ''
, binaryString
, '--_'+ uniq +'--'
].join('\r\n');
var xhr = new XMLHttpRequest;
xhr.open('POST', '/upload', true);
xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary=_'+uniq);
xhr.sendAsBinary(data);
Я вообще правильно понял комментарий
"// или результат чтения FileReader"