Vista Previa Imágenes

Publicado por Julian Andres Roman
hace 10 años

<p>Buenas... Tengo una inquietud, quiero saber cómo enviar arhivos por ajax, a que me refiero, quiero enviar una imagen a través de ajax a una pagina de php, gracias...</p>

#vistaprevia
Respuesta de Cristian Olaz
hace 10 años

<p>Suponiendo que tenés un formulario HTML como el siguiente:</p><pre><form enctype="multipart/form-data"><br />   <input name="file" type="file" /><br />   <input type="button" value="Subir archivo" /><br /></form></pre><p>Con Javascript (Jquery) podrías hacer lo siguiente:</p><pre>$(':button').click(function(){<br />    var formData = new FormData($('form')[0]);<br />    $.ajax({<br />        url: 'subir.php',  // Aca la dirección dónde procesarás el archivo que se suba.<br />        type: 'POST',<br />        success: function() { ... El archivo se subió correctamente ... },<br />        data: formData, // esto es importante<br />        cache: false,<br />        contentType: false,<br />        processData: false<br />    });<br />});</pre><p><span>En este ejemplo lo que se hace es crear un objeto FormData y agregarle los campos del formulario que querés enviar <span style="font-weight:bold;">incluyendo</span> el archivo. Luego solo se hace un envío por ajax normal.</span><br /></p><p><span>También es muy importante que no te olvides de poner enctype="multipart/form-data" en tu formulario. Sino no se enviará ningún archivo.<br />Espero que te ayude esta respuesta.</span></p><p><span>Un Saludo!</span></p>