Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/09/2010, 14:15
Avatar de fakulicious
fakulicious
 
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Cómo enviar un archivo con jQuery?

Mayid, gracias por responder!

Mira, tengo este código HTML:

Código HTML:
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <label for="foto"></label>
  <input type="file" name="foto" id="foto" />
  <input type="submit" name="subir" id="subir" value="Subir" />
</form> 
Y este javascript

Código HTML:
<script type="text/javascript">
$(document).ready(function(){
	$('#subir').click(function(){
		if($('#foto').val() == ''){
			alert('Seleccionar archivo');
		} else {		
			alert($('#foto').val());
			var imagen = $('#foto').val();
			$.ajax({
				url: 'prueba2.php',
				type: 'POST',
				data: 'imagen='+imagen,
				success: function(resultado){
					alert(resultado);
				}
			});
		}
		return false;
	});
});
</script> 
Y en el archivo prueba2.php hago el proceso de la imagen, la redimensiono y la guardo en un campo BLOB de la BD.

El problema es que lo único que envía es el nombre del archivo como un string, no envía la información binaria del archivo. Entonces en el php no recibe nada en $_FILES, me da un error que el array $_FILES está vacío. Y si recibo por $_POST solo me devuelve el nombre del archivo, pero no me devuelve el nombre, tamaño, contenido binario, etc.

No pongo el código PHP porque es un poco extenso y en realidad no tiene que ver con este foro. Además es un código que uso siempre, pero sin ajax, entonces se que ese código funciona bien. Los errores que me da ahora es porque no recibe el archivo.
__________________
Facundo
http://www.creactivo.com.ar