Quando ripenso a quanto fosse necessario penare con il vecchio ASP 3.0 per effettuare l’upload di un file sul WebServer mi vengono i brividi.

Per fortuna Microsoft ha ascoltato le preghiere dei programmatori disperati e in ASP.NET ha inserito delle classi apposite per l’upload, rendendo il tutto semplice quasi quanto in PHP.

Per prima cosa, e’ necessario un FORM html, nel quale dobbiamo modificare il tag <form> ed impostare un encoding che sarà multipart/form-data. Questo encoding serve per specificare che durante il submit del form verranno spediti una sequenza di dati chepoi verranno interpretati.

Abbiamo bisogno inoltre di un tag con proprieta’ file: creera’ il pulsante ‘Sfoglia’ sul nostro form, necessario all’apertura della finestra di ricerca file.

Il codice del form sara’ quindi il seguente:

e questo il risultato:

Nel Code-Behind dovremo quindi associare del codice alla pressione del pulsante ‘Invia’:

private void Send_Click(object sender,  System.EventArgs e) {

HttpPostedFile file_sent=PostedFile.PostedFile;

//Rilevazione delle dimensioni del file inviato     int file_size=file_sent.ContentLength;

byte[] dati=new byte[file_size];

//Lettura dal file e riempimento del buffer     file_sent.InputStream.Read(dati, 0, file_size);

string filename = file_sent.FileName;

//Scrittura del File su disco     FileStream fs=new FileStream(“C:\” + Path.GetFileName(filename),FileMode.Create);     fs.Write(dati,0,file_size);     fs.Close(); }