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);
}
}
}
本文为“技术点滴”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。