public async Task <IActionResult> Create([Bind("id,titulo,descripcion,contenido,archivoImagen,visible,prioridad")] SobreMi sobreMi) { if (ModelState.IsValid) { if (sobreMi.archivoImagen == null) { ModelState.AddModelError("archivoImagen", "Imagen es un campo requerido."); } else { //guarda la imagen en wwwroot/image string wwwRootPath = _hostEnvironment.WebRootPath; string fileName = Path.GetFileNameWithoutExtension(sobreMi.archivoImagen.FileName); string extension = Path.GetExtension(sobreMi.archivoImagen.FileName); sobreMi.imagen = fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; string path = Path.Combine(wwwRootPath + "/image/", fileName); using (var fileStream = new FileStream(path, FileMode.Create)) { await sobreMi.archivoImagen.CopyToAsync(fileStream); } _context.Add(sobreMi); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } return(View(sobreMi)); }
public async Task <IActionResult> Edit(int id, [Bind("id,titulo,descripcion,contenido,imagen,visible,prioridad,archivoImagen")] SobreMi sobreMi) { if (id != sobreMi.id) { return(NotFound()); } if (ModelState.IsValid) { try { string wwwRootPath = _hostEnvironment.WebRootPath; string path = null; if (sobreMi.archivoImagen != null) { string fileName = Path.GetFileNameWithoutExtension(sobreMi.archivoImagen.FileName); string extension = Path.GetExtension(sobreMi.archivoImagen.FileName); sobreMi.imagen = fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; path = Path.Combine(wwwRootPath + "/image/", fileName); using (var fileStream = new FileStream(path, FileMode.Create)) { await sobreMi.archivoImagen.CopyToAsync(fileStream); } } _context.Update(sobreMi); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SobreMiExists(sobreMi.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(sobreMi)); }