Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/09/2011, 08:50
mariomon17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años
Puntos: 34
Respuesta: Subir archivo con AJAX y FileAPI

Al final lo he solucionado utilizando el objeto FormData http://dev.w3.org/2006/webapi/XMLHtt...rface-formdata

Recojo el archivo (ya sea recogiendo el file de un formulario o con un drag and drop) y con el metodo append() introduzco el archivo en el objeto FormData.

Ese objeto lo pongo en la peticion AJAX. Con lo cual en el archivo php recibo el archivo con $_FILE[] y no con $_POST[].

Código Javascript:
Ver original
  1. file =
  2.  
  3. formdata = new FormData();  
  4. formdata.append("files[]", file);
  5.  
  6. $.ajax({  
  7.         url: "upload.php",  
  8.         type: "POST",  
  9.         data: formdata,  
  10.         processData: false,  
  11.         contentType: false,  
  12.         success: function (res) {  
  13.             document.getElementById("response").innerHTML = res;  
  14.         }  
  15.     });

Si hubiese un drag and drop necesitariamos esos metodos.
Y si fuese una imagen y quisieramos mostrarla utilizariamos el objeto FileReader (File API de HTML5).

La info la aprendi de aqui: http://net.tutsplus.com/tutorials/ja...les-with-ajax/

Un saludo y gracias