public async Task <ActionResult> UploadFile([FromForm] ProductosRequest request) { string fileExtension = Path.GetExtension(request.Fichero.FileName); if (fileExtension == ".xls" || fileExtension == ".xlsx") { return(Ok(await ProcessExcel(request))); } return(Ok(await ProcessFile(request))); }
private async Task <IEnumerable <Productos> > ProcessExcel(ProductosRequest request) { List <Productos> productos = new List <Productos>(); System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); using (var stream = new MemoryStream()) { request.Fichero.CopyTo(stream); stream.Position = 0; using (var reader = ExcelReaderFactory.CreateReader(stream)) { while (reader.Read()) //Each row of the file { productos.Add(new Productos { Categoria = reader.GetValue(0).ToString(), Nombre = reader.GetValue(1).ToString() }); } } } return(productos); }
private async Task <string> ProcessFile(ProductosRequest request) { return(request.Fichero?.ConvertToByteArray().Base64Url()); }