Tema movido desde
PHP a
AJAX
Te recuerdo que desde AJAX no puedes enviar archivos, el protocolo no soporta lo necesario para ello y el browser no te da el contenido binario para accesar a la imagen, es por eso que document.getElementById('img').value te da error, ya que es una protección de seguridad.
Saludos.