Hola:
Como expliqué antes solo es posible con el envío de un formulario (considerado una variante de Ajax)... y la razón es muy lógica, la cabecera para adjuntar ficheros (enctype="multipart/form-data") no la admite el objeto XMLHttpRequest; además, las peticiones Ajax siempre son enviando datos concretos, y de los campos file no se puede via javascript obtener el contenido (ni siquiera se puede obtener la ruta real)
Todos los ejemplos que puedan incluirse son con la misma técnica de un envío oculto; y la respuesta es muy fácil obtenerla con javascript y el sistema de ventanas (opener... parent).
Saludos