KOLANICH,
если у вас содержимое файла уже лежит в переменной, так вырежьте из того примера всё, что касается чтения файла, и будет работать во всех браузерах.
Неправда. Обычный XHR не умеет передавать бинарные данные (Но хром с недавних пор умеет). Можно закодировать их в base64, но тогда придется декодировать на стороне сервера. Content-Transfer-Encoding не помогает.