How to save IFormFile to disk?

There are to be further changes in Core 3.0 as IHostingEnvironment is now marked as obsolete.

using Microsoft.Extensions.Hosting;

public class ProfileController  : Controller
{
    private IHostEnvironment _hostingEnvironment;

    public ProfileController(IHostEnvironment environment)
    {
        _hostingEnvironment = environment;
    }

A few things have changed since core's release candidates

public class ProfileController : Controller {
    private IWebHostEnvironment _hostingEnvironment;

    public ProfileController(IWebHostEnvironment environment) {
        _hostingEnvironment = environment;
    }

    [HttpPost]
    public async Task<IActionResult> Upload(IList<IFormFile> files) {
        string uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
        foreach (IFormFile file in files) {
            if (file.Length > 0) {
                string filePath = Path.Combine(uploads, file.FileName);
                using (Stream fileStream = new FileStream(filePath, FileMode.Create)) {
                    await file.CopyToAsync(fileStream);
                }
            }
        }
        return View();
    }
}