6. ENVÍO DE FICHEROS USANDO FORMULARIOS

Como apéndice a los formularios incluimos un método introducido por Netscape y aceptado por el estándar HTML 3.2 que permite a los visitantes de una página mandar un archivo presente en su ordenador a la página Web.

Con los controles que hemos visto hasta ahora se podía enviar un archivo de texto copiándolo a un área de texto, pero no existía ninguna manera de mandar, por ejemplo, una imagen o un programa. Con este nuevo sistema será posible enviar ficheros de todo tipo.

Los cambios respecto a los controles anteriores no son muchos. En primer lugar debemos hacer uso del atributo ENCTYPE especificando que los datos que se van a enviar desde este formulario al servidor serán de tipo multipart/form-data, después debemos usar ACTION para especificar la dirección de un programa del servidor Web que sea capaz de recoger este archivo y realizar las acciones oportunas con él, por ejemplo:

      <FORM ENCTYPE="multipart/form-data"
	ACTION="http://www.miservidor.es/cgi-bin/
	cogefichero"<
      <!-- ... --<
      </FORM<

    

En lo que al control en sí se refiere usaremos de nuevo la etiqueta INPUT, esta vez con TYPE="file". El navegador lo mostrará como una caja de texto junto con un botón que permitirá al usuario buscar entre sus archivos el que quiere enviar. Un ejemplo con el código completo sería:

      <FORM ENCTYPE="multipart/form-data"
	ACTION="http://www.miservidor.es/cgi-bin/
	cogefichero">
      Enviar el fichero:
      <INPUT NAME="fichero_usuario"
	TYPE="file">
      <INPUT TYPE="submit"
	VALUE="Enviar fichero">
      </FORM>

    

Usando este código se obtiene el resultado que observamos en la figura 12.33 en la que se muestra también el cuadro de diálogo que ofrece Internet Explorer 4 cuando se pulsa sobre el botón 'Examinar...'.

Figura 12.33. Como método alternativo a los CGIs pueden mandarse los datos del formulario por correo electrónico. En ese caso el navegador pedirá al usuario confirmación de la acción.

Hasta aquí es sencillo. La parte más difícil en el envío de ficheros desde páginas Web consistirá en crear un programa para el servidor que sea capaz de recibirlo. Por lo general puede ser conveniente obtener alguno hecho por profesionales que realice, o al menos nos ayude, a realizar esta labor. Para ello recomendamos al lector que se dirija a la dirección:

Si está interesado en adquirir información para crear el programa usted mismo puede obtener toda la información necesaria en el servidor FTP: