next up previous contents
Next: Amministrazione del database dell'archivio Up: Le funzionalità implementate Previous: Le funzionalità implementate   Contents

Gestione degli Upload

Per accedere alla pagina che consente gli upload si deve prima completare correttamente le informazioni che sono richieste per descrivere il file che ci si accinge ad archiviare. Si tratta di completare tre moduli di inserimento (in cui solo il primo è obbligatorio) come richiesti dallo standard di riferimento [KW94]. Al submit di ogni form viene generata una istruzione SQL di insert sulle tabelle relazionali (cfr. 2).

Solo a questo punto viene presentato il modulo che procede all'archiviazione vera e propria del file. Viene qui utilizzata una estensione presente nelle ultime generazioni di navigatori (Netscape Navigator 2.0+ o Microsoft Internet Explorer 3.0+). Si utilizzano due particolarità:

1.
Il parametro FILE del comando INPUT (contenitore FORM)
2.
La codifica MIME multipart/form-data

La prima caratteristica consente di creare un pulsante che, se premuto attiva l'esecuzione sul cliente di un selettore di file (File Browser) che permette di navigare nel filesystem locale alla ricerca del file che interessa trasmettere.

La seconda funzionalità è quella che consente il trasferimento di grandi quantità di dati, come ad esempio dati in codifica binaria, tramite il metodo POST. La pagina HTML di upload risulta così composta:

<FORM METHOD="POST" 
      ACTION="upload.cgi" 
      ENCTYPE="multipart/form-data">

  File da archiviare: 
    <INPUT TYPE="FILE" NAME="upload-file" SIZE=35>
    <INPUT TYPE="SUBMIT">

</FORM>

Una volta che i dati arrivano allo script CGI che viene eseguito dal servente, si tratta semplicemente di salvare i dati in forma binaria. Per questo compito è stato utilizzato uno script perl scritto da Jeff Carnahan 15, che si fa carico di controllare tutte le condizioni di errore (file già presente, browser non compatibile, etc.).

A questo punto viene inviato un messaggio di posta elettronica al gestore del sito, per avvisare che un inserimento attende di essere verificato. Spetta all'ftpadm il compito di controllare che il software sia conforme all'area in cui è stato inserito e sia legale la sua distribuzione.


next up previous contents
Next: Amministrazione del database dell'archivio Up: Le funzionalità implementate Previous: Le funzionalità implementate   Contents
Mirko Manea
2000-05-07