Exemple #1
0
        [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));
        }