2011-03-05 14 views
9

Así que tengo un objeto "Archivo" (recuperado al manejar el archivo arrastrar y soltar desde el escritorio). Puedo enviar los archivos al servidor con ajax, y luego arrojarlos de nuevo para que javascript los maneje. Pero, ¿es posible leer el contenido sin hacer todo esto?¿Lee el contenido de un objeto "archivo"?

Here, play around with this fiddle. Arrastre cualquier archivo al cuadro y use la variable file.

ya he intentado todos los métodos de este objeto ... sin suerte. ¿Puedes obtener el contenido del archivo que acabas de arrastrar al navegador?

PS: Me gustaría enviar los archivos al servidor de la siguiente manera:

var ajaxRequest = new XMLHttpRequest(); 
ajaxRequest.open("returnRawPostData.php"); 
ajaxRequest.send(file); 

que podría haber perdido algo en el código anterior, pero eso es sólo porque uno no usa llano JS para hacer llamadas AJAX más .

+0

Salida http://stackoverflow.com/questions/2657653/drag-and-drop-file-upload-in-google-chrome-chromium – Detect

+1

No creo que respondió a mi pregunta – JCOC611

Respuesta

16

El uso de los enlaces de Martin Mally (! Muchas gracias), me encontré con esto:

var file = e.dataTransfer.files[0],read = new FileReader(); 

read.readAsBinaryString(file); 

read.onloadend = function(){ 
    console.log(read.result); 
} 

Dónde read.result mantiene el contenido del archivo.

+0

¡Funcionó como un encanto! ¡Gracias a los dos! – Nefreo

Cuestiones relacionadas