Foros del Web » Programando para Internet » Javascript »

Envio archivo en un Post Form

Estas en el tema de Envio archivo en un Post Form en el foro de Javascript en Foros del Web. Me he bajado del deposito JS v1.2 una aplicacion de Java para adjuntar archivos, pero cuando lo pongo en funcionamiento no obedece las intrucciones y ...
  #1 (permalink)  
Antiguo 27/12/2002, 07:39
 
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 21 años, 4 meses
Puntos: 0
Envio archivo en un Post Form

Me he bajado del deposito JS v1.2 una aplicacion de Java para adjuntar archivos, pero cuando lo pongo en funcionamiento no obedece las intrucciones y no acompaña el archivo al post .
La sintaxis es:

[COLOR=blue]<script LANGUAGE="JavaScript">
<!-- PRIMER PASO: Copiar dentro del tag HEAD -->

<script LANGUAGE="JavaScript">

extArray = new Array(".gif", ".jpg");
function LimitAttach(form, file) {
allowSubmit = false;
if (!file) return;
while (file.indexOf("\\") != -1)
file = file.slice(file.indexOf("\\") + 1);
ext = file.slice(file.indexOf(".")).toLowerCase();
for (var i = 0; i < extArray.length; i++) {
if (extArray[i] == ext) { allowSubmit = true; break; }
}
if (allowSubmit) form.submit();
else
alert("Se permiten únicamente archivos con la extención: "
+ (extArray.join(" ")) + "\nPor favor, seleccione otro archivo "
+ "e intente de nuevo.");
}

</script>

[COLOR=blue]<script LANGUAGE="JavaScript">
<!-- SEGUNDO PASO: Copiar el formulario dentor del BODY -->

<script LANGUAGE="JavaScript">
<form method="post" name="upform" action="cgi-bin/tu-script.cgi"
enctype="multipart/form-data">
<p><input type="file" name="uploadfile"> <input type="button" name="Submit" value="Enviar"
onclick="LimitAttach(this.form, this.form.uploadfile.value)"> </p>
</form>


Que es lo que falta? Me gustaria un sistema similar al que utilizan los servidores de correo tipo 'hotmail', 'yahoo' , etc.

Si me podeis ayudar os lo agradeceré . Gracias.
  #2 (permalink)  
Antiguo 27/12/2002, 07:57
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
¿Con que estás trabajando del lado del servidor? ¿ASP? ¿PHP? ¿Estás seguro de que no te está llegando nada al servidor?

Recuerda que solo con JavaScript no puedes manipular ese archivo, y por lo que vi a grosso modo, no hay problemas en ese script (además de que su procedencia es respetable).

Lo más probable es que tu código del lado del servidor tenga algún problema.

Saludos.
  #3 (permalink)  
Antiguo 27/12/2002, 10:07
 
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 21 años, 4 meses
Puntos: 0
Mensaje a Kaopectate: Muchas gracias por tu respuesta, pero lamento informarte de que sigo en el mismo punto, pues no te entendí con lo que quieres decir por ASP ó PHP. Me lo podrias explicar un poco mejor? La pagina incluye un formulario en el que se solicitan datos de una persona para ingresar en una comunidad, y como complemento final desearia incluir el script de incluir una foto con el mismo formulario. El formulario funciona correctamente (confeccionado en Front Page), pero lo de incluir la foto via script no. Ruego nuevamente tu ayuda. Si lo prefieres, puedo enviarte la pagina web entera para que verifiques donde está el error.
Gracias.
  #4 (permalink)  
Antiguo 27/12/2002, 10:34
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Gotobcn.

Vamos a tratar de explicarte un poco mas detalladamente. No estoy seguro de que nivel de conocimientos tienes, por lo tanto voy a explicarte como si no supieras nada. Si digo cosas obvias para ti, ignóralas.

Una página web está físicamente alojada en una máquina (servidor) y tiene una dirección para accederla (URL). Cuando un usuario en cualquier parte del mundo solicita esa página escribiendo esa URL en su navegador, se ejecutan ciertos procesos en el servidor y se envía como resultado al browser solicitante una página en HTML que puede contener (o no)porciones de JavaScript, imágenes (gif o jpg), animaciones (flash) etc.

Una vez que esa página llega al cliente se muestra en el navegador, pero por razones de seguridad, no puede escribir ni leer información del equipo de ese cliente. De no ser asi, los virus podrían dañar tu equipo con solo abrir una página web.

Del lado del servidor, cuando un usuario solicita una página, es posible realizar consultas y escrituras en una base de datos asi como sucede en esta página. Eso se hace con lenguajes especiales como PHP o ASP o JSP o Cold Fussion o con CGIs. Esos lenguajes lo que hacen es modificar las páginas HTML que se van a enviar, comunicar con bases de datos, manejar seguridad, o traer archivos guardados en la máquina del cliente.

Cuando colocas un tag <input type="file"> en tu página, solo estás diciendo que cuando se haga un submit de la forma asociada, se va a recibir un archivo del cliente. En ese momento, del lado del servidor y con PHP o ASP, debes decir donde guardar el archivo y que hacer con él.

Con JavaScript no tienes acceso al archivo, y de tenerlo, como JavaScript se ejecuta en el equipo del cliente, no podrías guardarlo porque lo dejarías guardado en un discoduro que no es tuyo.

No se si algo de lo que he escrito tenga que ver contigo. Espero que si, sino avísame y sigo escribiendo.

Saludos.
  #5 (permalink)  
Antiguo 27/12/2002, 22:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno, la clave de todo lo tienes en el "action" que apunta el formulario:

cgi-bin/tu-script.cgi

Estas usando solo esta parte de codigo del lado del cliente (javascript) .. ?¿

Sabias que necesitas ese "tu-script.cgi" (q no necesariamente debe ser un "cgi" (tal vez en Perl) .. puede ser en ASP, PHP .. etc.

Ese "tu-script.cgi" será el que en última instancia deje el archivo que subes (input .. type=file ...) en su lugar correspondiente (PHP tiene su técnica . .ASP tendrá la suya . Perl idem .. etc .. )

Esa rutina Javacript hace la mitad del proceso (sobre todo el formualrio por su definicion y el campo file ..) .. Lo demas .. la rutina javascript añadida es muyy básica y facil de saltarsela .. lo ideal es que esas restricciones las apliques en la aplicación del lado del servidor (sea PHP, ASP, Perl .. o cualquier lenguaje del lado del servidor.

Un saludo,
  #6 (permalink)  
Antiguo 28/12/2002, 14:04
 
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 21 años, 4 meses
Puntos: 0
Muchas gracias a todos los que me habeis ayudado en este tema.
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 16:45.