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

Ayuda con envio de archivos

Estas en el tema de Ayuda con envio de archivos en el foro de Frameworks JS en Foros del Web. Hola a todos en el Foro: Necesito una ayudita en lo siguiente: Estoy tratando de enviar una imagen jpg desde un formulario a un archivo ...
  #1 (permalink)  
Antiguo 07/08/2007, 13:01
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 18 años, 6 meses
Puntos: 0
Ayuda con envio de archivos

Hola a todos en el Foro:

Necesito una ayudita en lo siguiente:
Estoy tratando de enviar una imagen jpg desde un formulario a un archivo php mediante Ajax.Updater. El asunto esta en que al serializar el formulario solo toma los campos de texto y no el campo "file". Esto provoca que no pueda trabajar la recepcion desde php.

Les dejo un codigo de ejemplo que estoy rpobando para que la idea sea mejor
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>

<script type="text/javascript" src="js/prototype/prototype.js" language="JavaScript"></script>
<script type="text/javascript" src="js/foto.js" language="JavaScript"></script>
</head>

<body>
<form id = "fotex" enctype="multipart/form-data" >
	<label>Foto</label>
	<input type = "file" name = "vol_foto" id = "vol_foto" /><br />
	<input type = "text" name = "algo" id = "algo" /><br />
	<input type = "button" value = "enviar" onclick = "ingresa_foto();"/><br />
</form>
<div id = "recibe"></div>
</body>
</html>
Ahora el archivo foto.js

Código:
ingresa_foto = function() {
var pars = Form.serialize($('fotex'));
alert(pars);
new Ajax.Updater("recibe", "recibefoto.php", {method: 'post', parameters: pars});
}
y el archivo recibefoto.php

Código PHP:
<?php
include('registro/conecta.php');

$tipo $_POST['algo'];
$vol_foto $_FILES['vol_foto'];
$vol_foto_tmp $_FILES['vol_foto']['tmp_name'];
$vol_foto_tipo $_FILES['vol_foto']['type'];

//esto es para probar si es que estaba recibiendo el archivo, pero nada
echo $tipo." ";
echo 
$vol_foto_tmp." ";
echo 
$vol_foto_tipo." ";
echo 
$tipo." ";

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...


esto es para ingresar a la BD lo comente ya que no hace nada
/*$binario_contenido = addslashes(fread(fopen($vol_foto_tmp, "rb"), filesize($vol_foto_tmp)));

$enlace = conectar();

$sql = "insert into foto values('$tipo', '$binario_contenido')";
$consulta = consultar($sql);

//if(!$consulta) echo "error al ingresar";
//else echo "ingrwso realizado";

$sql = "select foto from foto where id = '1'";

$consulta = consultar($sql);

$res = mysql_fetch_array($consulta);

$foto = $res['foto'];

header("Content-Type: image/jpg");
echo $foto;

desconectar($enlace);*/
?>
Ojala alguien pueda ayudarme con esto.

Chauz
  #2 (permalink)  
Antiguo 07/08/2007, 13:36
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
Re: Ayuda con envio de archivos

loading.............

No puedes enviar campos de tipo FILE con xmlHttpRequest, asi que olvídate y ve por la opcion de upload por iframe.

connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 07/08/2007, 13:47
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Ayuda con envio de archivos

Graoas Maborak, me lo temia. supuse que no se podia y empece a cambiar el metodo, pense en almacenar la ruta pero pa ello igual necesito saber la ubicacion del temporal del archivo y el tipo. En fin.

Ahora una consulta, como eso de upload por iframes, me podrias orientar por favor?

De todos modos se agradece el tiempo
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:12.