Upload di file

20 marzo 2006

In molte occasioni sviluppando applicazioni Web ci si imbatte nella necessità di dover dare la possibilità agli utenti che utilizzano il web di spedire un file dal suo PC direttamente al server. Questa operazione in gergo viene definita UPLOAD.

Normalmente per implementare questa funzionalità ci si deve servire di componenti esterni che vengono eseguiti sul server. Purtroppo però questi componenti, oltre che avere un costo, necessitano di un’installazione da parte del fornitore di servizio sulle sue macchine; cosa che non sempre, anzi, molto raramente, avviene.

In questo articolo cercheremo di capire come effettuare le operazioni di upload senza utilizzare nessun componente esterno, ma servendoci unicamente degli strumenti messi a disposizione dal linguaggio.

Di cosa abbiamo bisogno

Beh, davvero di poco! Le condizioni da soddisfare in linea di massima sono 2:

  • avere un file da caricare
  • avere un posto dove metterlo

Per la prima condizione mi sembra davvero inutile aggiungere altro.

Per la seconda invece è fondamentale che lo spazio web a nostra disposizione abbia una cartella dove sono stati abilitati i permessi di scrittura in modo da poter posizionare i file che vengono uploadati.

Normalmente tutti gli spazi web comprendono una cartella che risponde a questi requisiti ma nel caso in cui quest’ultima non ci fosse, potete contattare il vostro fornitore di servizio e chiedergli di creare una cartella ed assegnarle i permessi di scrittura.

Spedire i dati (form.html)

Iniziamo dalla parte più semplice: recuperare i dati e spedirli. Dobbiamo dare la possibilità all’utente di inserire i dati, scegliere il file da spedire e inviarlo al server.

Per adesso potremmo dare la possibilità all’utente di spedire unicamente il file e un campo di testo ma in ogni caso si può anche inviare altro, come altri campi di testo, checkbox, e simili in modo da poterli utilizzare in seguito per essere inseriti in un database o semplicemente di visualizzati. Per fare questo ci serviremo di un semplice form.

<form action="upload.asp" method="post" enctype="multipart/form-data">
  CAMPO TESTO <input type="text" name="testo1">
  FILE <input type="file" name="file1">
  <input type="submit" value="Upload">
</form>

Come potete notare è un semplice form che chiama una pagina (upload.asp) dove verranno inserite le operazioni da effettuare.

N.B. Il form deve essere di tipo multipart/form-data condizione richiesta affinché vengano passati effettivamente i dati. Se noi impostassimo nel form unicamente il metodo POST senza specificare il tipo di formato verrebbe passato il valore contenuto nel campo file del form, e quindi unicamente il percorso del file ma non i dati in esso contenuti.

Se vuoi aggiornamenti su Upload di file inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Upload di file

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy