ASP.NET - Upload di un file
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(); }