Gestire l'upload di file multipli in ASP.NET 4.5

di Marco De Sanctis, in ASP.NET 4.5,

Il controllo FileUpload di ASP.NET Web Forms, dalla versione 4.5, consente la selezione e l'invio di più file contemporaneamente, nel caso in cui questa funzionalità sia supportata dal browser.

Per attivare questa modalità, è sufficiente impostare a true la proprietà AllowMultiple:

<asp:FileUpload runat="server" AllowMultiple="true" ID="fileUpload" />
<asp:Button runat="server" ID="btnSend" Text="Invia" OnClick="btnSend_Click" />

A questo punto, lato server sarà sufficiente accedere alle nuove proprietà HasFiles e PostedFiles, per recuperare i riferimenti ai file contenuti nella richiesta HTTP.

protected void btnSend_Click(object sender, EventArgs e)
{
  if (fileUpload.HasFiles)
  {
    foreach (var file in fileUpload.PostedFiles)
    {
      // ... elaborazione del file ...
    }
  }
}

Questo codice funziona anche nel caso in cui la funzionalità di upload multiplo non sia supportata dal browser. In questo caso, ovviamente, la collection PostedFiles conterrà sempre un solo elemento. Per mantenere la compatibilità con il codice precedente alla versione 4.5, sono state mantenute anche le proprietà HasFile e PostedFile; quest'ultima, in particolare, fa riferimento sempre al primo file selezionato dall'utente.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi