Gestire l'upload dei file in un controller Web API di ASP.NET Core 2.1

di , in ASP.NET Core,

Negli ultimi script abbiamo introdotto gli automatismi resi possibili dal nuovo attributo ApiController in ASP.NET Core 2.1 per quanto riguarda la dell'input e il binding dei parametri con le varie componenti della request Web API.

Un'ulteriore automatismo è presente in caso di upload di file. Non dobbiamo far altro che creare un'action con un parametro di tipo IFormFile oppure, in caso di file multipli, di tipo IEnumerable.

[HttpPost, Route("image")]
public ActionResult<UploadResultDto> UploadProductImage(IFormFile image) {
  //...
}

Il client potrà inviare uno o più file per mezzo di una richiesta HTTP con Content-Type: multipart/form-data. In questo caso l'attributo ApiController appone automaticamente l'attributo Consumes("multipart/form-data") sull'action per imporre l'utilizzo di quel content type. Se intendiamo rinunciare a questa funzionalità, agiamo ancora una volta sulle opzioni.

services.Configure<ApiBehaviorOptions>(options =>
{
  options.SuppressConsumesConstraintForFormFileParameters = true;
});

Grazie alle convenzioni che abbiamo visto, riduciamo la quantità di codice ripetitivo, che si traduce in maggiore leggibilità e maggiore rapidità nello sviluppo della nostra applicazione.

Commenti

Visualizza/aggiungi commenti

Gestire l'upload dei file in un controller Web API di ASP.NET Core 2.1 (#1299) 1010 1
| Condividi su: Twitter, Facebook, LinkedIn, Google+

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