none
Como guardar y descargar un archivo asp.net mvc C#? RRS feed

  • Pregunta

  •  Tengo una consulta y es la siguiente:

        Tengo un método que registra un ticket y unos de los campos input:file ello guarda una imagen en bytes en la base de datos.

    Lo que deseo hacer es guardar en la base de datos un archivo de cualquier tipo (word,pdf,excel,jpg) en bytes . También deseo descargar ese mismo archivo.

    Método guardar

    [HttpPost]
            public JsonResult registrarTicket(Ticket ticket)
            {
                HttpPostedFileBase filebase = Request.Files[0];
                WebImage image = new WebImage(filebase.InputStream);
                ticket.Imagen = image.GetBytes();
                ticket.Fecha_Reg = DateTime.Now;
                ticket.Area = "DESARROLLO";
                ticket.Est_ticket = "Registrado";
                ticket.Flag_est = true;
    
                this._repo.Agregar(ticket);
                this._repo.Guardar();
                return Json(new { data = true }, JsonRequestBehavior.AllowGet);
            }

    Método descargar

    public FileResult descargar(int id)
            {
                var obj = _repo.TraerUno(id);
                byte[] imagen = obj.Imagen;
    
                var filename = string.Format("CapturaError{0:yyyyMMdd_hhmmss}", DateTime.Now) + ".jpg";
    
                MemoryStream ms = new MemoryStream(imagen);
                Image image = Image.FromStream(ms);
    
                ms = new MemoryStream();
                image.Save(ms, ImageFormat.Jpeg);
                ms.Position = 0;
    
                return File(ms, "image/jpg", filename);
            }

    Clase Ticket

    public class Ticket
        {
            public int Num_ticket { get; set; }
            public string Nom_usu_reg { get; set; }
            public string Correo_usu_reg { get; set; }
            public string Telf_usu_reg { get; set; }
            public string Tit_problema { get; set; }
            public string Desc_problema { get; set; }
            public byte[] Imagen { get; set; }
            public string Area { get; set; }
            public string Prioridad { get; set; }
            public DateTime? Fecha_Reg { get; set; }
            public DateTime? Fecha_Mod_reg { get; set; }
            public DateTime? Fecha_Asig { get; set; }
            public DateTime? Fecha_Atencion { get; set; }
            public string Est_ticket { get; set; }
            public string Usu_asig { get; set; }
            public string Usu_atencion { get; set; }
            public string Respuesta_atencion { get; set; }
            public string CodUsuario { get; set; }
            public Boolean Flag_est { get; set; }
    
        }




    • Editado Joaquin MB martes, 29 de septiembre de 2020 20:25
    martes, 29 de septiembre de 2020 20:15

Todas las respuestas