asp.net core上传文件

asp.net core上传文件:

public class BannerController : Controller
{

        private ApplicationDbContext _db;
        private IHostingEnvironment _environment;   
        public BannerController(ApplicationDbContext db, IHostingEnvironment environment)
        {
            _db = db;
            _environment = environment;
        }


        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Create(BannerCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var file = viewModel.PicFile;
                var uploads = Path.Combine(_environment.WebRootPath, "uploads/images");
                var ext = Path.GetExtension(file.FileName);//获得文件扩展名
                var timeStamp = DateTimeOffset.Now.ToUnixTimeSeconds();
                var saveName = $"{timeStamp}{ext}";//实际保存文件名
                using (var fileStream = new FileStream(Path.Combine(uploads, saveName), FileMode.Create))
                {
                    await file.CopyToAsync(fileStream);
                }
                viewModel.Pic = saveName;
                var model = Mapper.Map<BannerCreateViewModel, Banner>(viewModel);
                _db.Banner.Add(model);
                _db.SaveChanges();
                return RedirectToAction(nameof(Index));
            }
            else
            {
                return View(viewModel);
            }
        }
}

asp.net core显示环境信息

在razor中添加如下代码,即可在页面显示服务器的环境信息。

@inject Microsoft.Extensions.PlatformAbstractions.IRuntimeEnvironment env
<html>
    <body>
        <img src="images/ASP-NET-Banners-01.png" />
        @("Hello World")
        <footer>
            <div class="container text-center">
                &copy;@DateTime.Now.Year  <a href="http://notes.wujie.me">老吴笔记</a> Powered by @($"dotnet-{env.RuntimeType.ToLower()}-{env.RuntimeVersion} on {env.OperatingSystem}")
            </div>
        </footer>
    </body>
</html>