Для обработки двоичных данных вы захотите использовать WebSockets.Это часть новой HTML5 спецификации .Однако есть проблема.По состоянию на середину декабря 2010 года WebSockets были отключены во всех основных браузерах из-за уязвимости, приводящей к отравлению кэша.
Последнее, что я слышал, это все еще разобрано .
Чтобы загрузить файл перед отправкой через WebSockets, вы должны использовать FileReader API , который поддерживается в последней версии каждого браузера (насколько мне известно).
Чтобы проверить,FileReader поддерживается, вы должны проверить как:
if (FileReader){
// It's supported
}
Вы также можете проверить:
if (window.URL){
//
}
для альтернативы.