Ejemplo en HTML de file upload con CGI
Este es un programa de ejemplo en html que muestra como se envía un archivo a través del navegador a un cgi que recibe el envio y lo guarda en disco:
<form enctype="multipart/form-data"
action="fileupload.cgi"
method=post>
<center>
Fichero a enviar : <input type="file" name ="fichero"><br>
<input type=reset value="Borrar">
<input type=submit value="Enviar">
</center>
</form>
Explicación breve:
Tenemos que fijarnos que todo el conjunto esta englobado en un formulario, la apertura del formulario es <form ....>. Se debe especificar tipo: "multipart/form-data", seguidamente establece el archivo que se mostrará tras realizar el envío correctamente: action="enviado.html". El método es: method=post, y es necesario, pues se utilizará el comando "POST".
El interior del formulario se completa con <input ....> y lo cerramos con el fin del formulario </form>.
Funcionamiento:
El navegador carga el fichero el formulario que acabamos de ver y espera a que seleccionemos un fichero. Tras esto pulsamos en "enviar" y es aquí cuando el navegador inicia un envio multipart. El servidor recibe el conjunto de datos y lo transmite al cgi (o aplicación php/asp, etc). La aplicación (cgi) podrá realizar diferentes tareas, tantas como el programador que la diseñó quiera, y no solo guardar el archivo en disco. De esta manera podemos hacer muchas otras operaciones con ficheros.
Existen muchas aplicaciones cgi que realizan estas tareas, también es fácil hacerlo mediante scripts en php o asp.