Если читаете в
data:url, то просто отправляйте как обычный текст, так же принимайте и конвертируйте в бинарный формат с помощью соответствующих функций Вашего серверного языка. Потом останется лишь сохранить файл (имя загружаемого файла, разумеется, будет недоступно) на диск (или же произвести какие-либо другие действия).
А вообще,
XHR2 поддерживает FormData, который при использовании с FileAPI позволяет отправлять файлы XHR запросами как в случае обычных форм. Серверный код, таким образом, не изменяется. См.
пример.