// [Authorize] otra manera es declararlo a nivel de clase en este caso no dejara hacer //Nada de los metodos de home controller hasta que nos loggemos public IActionResult Create(CrearAmigoModelo a) { if (ModelState.IsValid) { //guardar el string de la imagen string pathImagen = null; if (a.Foto != null) { string ficheroImagen = Path.Combine(_hosting.WebRootPath, "images"); pathImagen = Guid.NewGuid().ToString() + a.Foto.FileName; string rutaDefinitiva = Path.Combine(ficheroImagen, pathImagen); Console.WriteLine("rutaDefinitiva" + rutaDefinitiva); a.Foto.CopyTo(new FileStream(rutaDefinitiva, FileMode.Create)); } //despues de hacer las validaciones en la calse amigo vemos si se cumplen todas Amigo amigoNEW = new Amigo(); amigoNEW.Nombre = a.Nombre; amigoNEW.Email = a.Email; amigoNEW.Ciudad = a.Ciudad; amigoNEW.rutaFoto = pathImagen; interfaceAMIGO.nuevoAmigo(amigoNEW); //redirijimos ala vista detalles y que acepte el id como paramegtro del nuevo amigo return(RedirectToAction("details", new { id = amigoNEW.Id })); } return(View()); }
public IActionResult Create(CrearAmigoModelo crearAmigo) { if (ModelState.IsValid) { string guidImagen = null; if (crearAmigo.Foto != null) { string archivoImagen = Path.Combine(_hosting.WebRootPath, "img"); guidImagen = Guid.NewGuid().ToString() + crearAmigo.Foto.FileName; string ruta = Path.Combine(archivoImagen, guidImagen); using (var file = new FileStream(ruta, FileMode.Create)) { crearAmigo.Foto.CopyTo(file); } } Amigo amigo = new Amigo(); amigo.Nombre = crearAmigo.Nombre; amigo.Email = crearAmigo.Email; amigo.Ciudad = crearAmigo.Ciudad; amigo.Rutafoto = guidImagen; _amigoAlmacen.Nuevo(amigo); return(RedirectToAction("details", new { id = amigo.Id })); } return(View()); }