Hola:
No se trata de una solución difícil sino imposible... no solo hace falta el método post, sino el enctype multipart-form/data que no acepta ajax... pero incluso si lo pudiera aceptar, debes crear una concatenación de los distintos campo, cosa imposible en los tipo file, ya que no se puede acceder al sistema del cliente...
Ten en cuenta que Ajax es una tecnología concebida a actualizar el navegador con datos del servidor, y estás intentando lo contrario.
La única opción es enviar el formulario a un iframe oculto y tal vez guardar el contenido del file en una variable de sesión u otro elemento del server (tal vez una BD...
)
Saludos