sendAsBinaryをChrome/Safariでやる
xmlHttpRequest.sendAsBinaryはfirefoxでしか実装されてないことを知りました^^;; 同じことをどうやるかぐぐってみると下記のリンクを見つけました。がっつりprototypeをいじってますね。firefoxで動けば問題ないでしょうってことで採用。
XMLHttpRequest.prototype.sendAsBinary = function(datastr) {
function byteValue(x) {
return x.charCodeAt(0) & 0xff;
}
var ords = Array.prototype.map.call(datastr, byteValue);
var ui8a = new Uint8Array(ords);
this.send(ui8a.buffer);
}