[HttpPost("import"), RequestSizeLimit(20 * 1024 * 1024)] // 20 MB public async Task <ActionResult <List <ExternalEntryForSave> > > Import() { string contentType = null; string fileName = null; Stream fileStream = null; if (Request.Form.Files.Count > 0) { var formFile = Request.Form.Files[0]; contentType = formFile.ContentType; fileName = formFile.FileName; fileStream = formFile.OpenReadStream(); } try { var result = await _service.Import(fileStream, fileName, contentType); return(Ok(result)); } finally { if (fileStream != null) { await fileStream.DisposeAsync(); } } }
[HttpPost("import"), RequestSizeLimit(20 * 1024 * 1024)] // 20 MB public async Task <ActionResult <List <ExternalEntryForSave> > > Import() { return(await ControllerUtilities.InvokeActionImpl(async() => { IFormFile formFile = Request.Form.Files.FirstOrDefault(); var contentType = formFile?.ContentType; var fileName = formFile?.FileName; using var fileStream = formFile?.OpenReadStream(); var result = await _service.Import(fileStream, fileName, contentType); return Ok(result); }, _logger)); }