Ejemplo n.º 1
0
        public async Task <IActionResult> Create(Usuario usuario)
        {
            string uploadPath = "uploads/images/";

            if (ModelState.IsValid)
            {
                var files = HttpContext.Request.Form.Files;
                foreach (var file in files)
                {
                    if (file != null && file.Length > 0)
                    {
                        var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName);
                        var uploadPathWithfileName = Path.Combine(uploadPath, fileName);

                        var uploadAbsolutePath = Path.Combine(_hostingEnv.WebRootPath, uploadPathWithfileName);

                        using (var fileStream = new FileStream(uploadAbsolutePath, FileMode.Create))
                        {
                            await file.CopyToAsync(fileStream);

                            usuario.UrlFoto = uploadPathWithfileName;
                        }
                    }
                }

                usuario.Senha = Hash.GenerateHash(usuario.Senha);
                _context.Add(usuario);
                TempData["MessagemOk"] = "Usuário registrado com sucesso";
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
            }
            return(View(usuario));
        }