Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Upload de imagen con AJAX

Estas en el tema de Upload de imagen con AJAX en el foro de Frameworks JS en Foros del Web. Hola, trate de hacer un upload con AJAX+PHP, pero no me funciona. (No me sube la imagen). Siempre me muestra el mensaje (en el div ...
  #1 (permalink)  
Antiguo 26/12/2007, 15:43
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Upload de imagen con AJAX

Hola, trate de hacer un upload con AJAX+PHP, pero no me funciona. (No me sube la imagen). Siempre me muestra el mensaje (en el div "capa"): "Ocurrió algún error al subir el fichero".
Cuál puede ser problema?

Gracias!


upload.htm


Código HTML:
<html>
<head>
<script type="text/javascript" src="libreriaajax.js"></script>
</head>

<body>

<form  action="#" onsubmit="FAjax('procesa_upload','capa','archivo='+document.getElementById('archivo').value,'POST'); return false" enctype="multipart/form-data" method="post">

<input type=file name="archivo" id="archivo">
<input type="submit" value="Agregar" id="boton">

<div id="capa">

</div>

</form>

</body>
</html> 

libreriaajax.js


Código HTML:
/*
*Esta libreria es una libreria AJAX creada por Javier Mellado con la inestimable
*colaboracion de Beatriz Gonzalez.
*descargada del portal AJAX Hispano http://www.ajaxhispano.com
*contacto [email protected]
*
*Puede ser utilizada, pasada, modificada pero no olvides mantener 
*el espiritu del software libre y respeta GNU-GPL
*/

function creaAjax(){
  var objetoAjax=false;
  try {
   /*Para navegadores distintos a internet explorer*/
     objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
     /*Para explorer*/
     objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (E) {
     objetoAjax = false;
   }
  }

  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
   objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}



function FAjax (url,capa,valores,metodo)
{
   var ajax=creaAjax();
   var capaContenedora = document.getElementById(capa);
   var boton = document.getElementById('boton');

    ajax.open ('POST', url, true);
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    
    
 
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 
                 capaContenedora.innerHTML="Cargando.......";
                 boton.disabled=true;
         }
         else if (ajax.readyState==4){
                          
                 capaContenedora.innerHTML=ajax.responseText;
                 boton.disabled=false;
                 
                 }
                            

     
        }
    }

procesa_upload.php

Código PHP:
<?

$nombre_archivo 
$_FILES['archivo']['name'];

$tipo_archivo $_FILES['archivo']['type'];

$tamano_archivo $_FILES['archivo']['size'];


$extensiones = array("image/gif","image/jpeg","image/png");

// Mensajes de errores

if(!(in_array($tipo_archivo$extensiones)))

$error .= "Extensi&oacute;n no válida";

if (
$tamano_archivo 2097152)
    
$error .= "Supera los 2Mb";




if(!empty(
$error)){

echo 
$error;

}else{

if(
move_uploaded_file($_FILES['archivo']['tmp_name'], "../temp/$nombre_archivo")){

echo  
"Subió correctamente";

}else{

echo 
"Ocurrió algún error al subir el fichero";

}

}

?>
  #2 (permalink)  
Antiguo 26/12/2007, 16:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Upload de imagen con AJAX

Hola:

Una de las pocas FAQs ajax dice que con ajax no se pueden subir ficheros... si ves algo mágico, podrían ser soluciones "específicas" de exploradores específicos...

Debes considerar que ajax es para actualizar el navegador con datos del server y no actualizar el server con datos de tu ordenador.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 26/12/2007, 16:46
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Upload de imagen con AJAX

Gracias caricatos!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:01.