public async Task <IActionResult> actualizar(DevLogItem d) { try { var j = context.DevLogItem.Include(x => x.DevLog).ThenInclude(x => x.Proyecto).FirstOrDefault(x => x.IdDevLogItem == d.IdDevLogItem); j.Texto = d.Texto; j.Titulo = d.Titulo; string wwwpath = enviroment.WebRootPath; string path = Path.Combine(wwwpath, "uploads"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } byte[] bytes = Convert.FromBase64String(d.Multimedia); string fileName = "ItemDevLog" + d.IdDevLogItem.ToString() + "_" + j.IdDevLog + ".jpg"; string pathCompleto = Path.Combine(path, fileName); System.IO.File.Delete(pathCompleto); using (var imageFile = new FileStream(pathCompleto, FileMode.Create)) { imageFile.Write(bytes, 0, bytes.Length); imageFile.CopyTo(imageFile); imageFile.Flush(); } context.DevLogItem.Update(j); context.SaveChanges(); return(Ok(j)); } catch (Exception e) { return(BadRequest(e)); } }
public async Task <ActionResult> Post(DevLogItem dli) { try { string wwwpath = enviroment.WebRootPath; string path = Path.Combine(wwwpath, "uploads"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } byte[] bytes = Convert.FromBase64String(dli.Multimedia); dli.Multimedia = "A"; // para que no guarde semejante cadena context.DevLogItem.Add(dli); context.SaveChanges(); string fileName = "ItemDevLog" + dli.IdDevLogItem.ToString() + "_" + dli.IdDevLog + ".jpg"; string pathCompleto = Path.Combine(path, fileName); using (var imageFile = new FileStream(pathCompleto, FileMode.Create)) { imageFile.Write(bytes, 0, bytes.Length); imageFile.CopyTo(imageFile); imageFile.Flush(); } dli.Multimedia = "uploads/" + fileName; context.DevLogItem.Update(dli); context.SaveChanges(); return(Ok(dli)); } catch (Exception ex) { return(BadRequest(ex)); } }