public IActionResult Import([ImportModelBinder] ImportSource source) { if (source != null && source.FileName != null) { ViewBag.Message = $"{source.FileName} uploaded, sized {source.FileStream.Length}."; } return(View()); }
public async Task <ModelBindingResult> BindModelAsync(ModelBindingContext bindingContext) { var request = bindingContext.OperationBindingContext.HttpContext.Request; var form = await request.ReadFormAsync(); var result = new ImportSource(); if (form.Files.Count > 0) { var file = form.Files[0]; result.FileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName; result.FileStream = file.OpenReadStream(); } return(new ModelBindingResult(result, "importSource", result.FileName != null)); }