Пример #1
0
        public async Task <IActionResult> Create(BlogViewModel blog)
        {
            if (ModelState.IsValid)
            {
                var blogForSave = _mapper.Map <BlogViewModel, Blog>(blog);

                var blogFromDb = _blogData.AddBlog(blogForSave);

                var fileExt = blog.Wallpaper.FileName.Split('.').Last();

                string path = $"{Path.DirectorySeparatorChar}images{Path.DirectorySeparatorChar}" +
                              $"blogWallpapers{Path.DirectorySeparatorChar}"
                              + blogFromDb.Id + $".{fileExt}";


                using (var fileStream = new FileStream(_env.WebRootPath + path, FileMode.Create))
                {
                    await blog.Wallpaper.CopyToAsync(fileStream);
                }

                blogFromDb.ImageUrl      = "/images/blogWallpapers/" + blogFromDb.Id + $".{fileExt}";
                blogFromDb.ReleaseTime   = DateTime.Now;
                blogFromDb.ImageLocalUrl = _env.WebRootPath + path;
                blogFromDb.Author        = await _userManager.GetUserAsync(User);

                _blogData.UpdateBlogs(blogFromDb);
                return(RedirectToAction("Index", "Profile"));
            }
            return(View());
        }