MVC 6 HttpPostedFileBase?
asp.net-core-mvc, httppostedfilebase
Solution
MVC 6 used another mechanism to upload files. You can get more examples on GitHub or other sources. Just use `IFormFile` as a parameter of your action or a collection of files or `IFormFileCollection` if you want upload few files in the same time:
public async Task<IActionResult> UploadSingle(IFormFile file)
{
FileDetails fileDetails;
using (var reader = new StreamReader(file.OpenReadStream()))
{
var fileContent = reader.ReadToEnd();
var parsedContentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDisposition);
var fileName = parsedContentDisposition.FileName;
}
...
}
[HttpPost]
public async Task<IActionResult> UploadMultiple(ICollection<IFormFile> files)
{
var uploads = Path.Combine(_environment.WebRootPath,"uploads");
foreach(var file in files)
{
if(file.Length > 0)
{
var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
await file.SaveAsAsync(Path.Combine(uploads,fileName));
}
...
}
}
You can see current contract of `IFormFile` in asp.net sources. See also `ContentDispositionHeaderValue` for additional file info.
Problem
I am attempting to upload an image using `MVC 6`; however, I am not able to find the class `HttpPostedFileBase`. I have checked the `GitHub` and did not have any luck. Does anyone know the correct way to upload a file in `MVC6`?