7 jun
2017

Convertir imagen a base64 para visualizarla en una vista

A través de un web api estoy obteniendo la ruta de una imagen almacenada en el servidor. La ruta es un string que convierto a un array de bytes para luego convertirlo en una imagen en base64. Cuando visualizo la imagen en la vista, no arroja ningún error pero no carga ninguna imagen. No encuentro donde tengo el error.

CODIGO:

// Por cada registro que obtengo, transformo el campo "adjunto" (ruta de la imagen) en arreglo de bytes
    private MisTurnos MapearAMisTurnosDesdeRegistro(Registro registro)
    {
        return new MisTurnos
        {
            Codigo = Convert.ToInt32(registro["numero"]),
            Fecha = Convert.ToDateTime(registro["fecha"]),
            Hora = registro["hora"].ToString(),
            Servicio = registro["servicio"].ToString(),
            Sucursal = registro["sucursal"].ToString(),
            Estado = Convert.ToInt32(registro["estado"]),

            // Esta propiedad es la que utilizo para guardar la imagen
            Orden = Encoding.UTF8.GetBytes(registro["adjunto"].ToString())
        };
    }


// Por cada registro que obtuve del web api con la ruta de la imagen correspondiente
// transformada en arregl ode bytes, transformo ese arreglo en base64
    private IEnumerable<MisTurnosViewModel> ConvertirOrdenEnImagen(IEnumerable<MisTurnosViewModel> listaTurnos)
    {
        foreach (var item in listaTurnos)
        {
            item.OrdenImagen = "data:image/png;base64," + Convert.ToBase64String(item.Orden);
        }

        return listaTurnos;
    }

Por último, en la vista, muestro en un tag la propiedad OrdenImagen, que contiene la imagen transformada a base64:

<img src=@item.OrdenImagen />

COMENTARIOS

DEJA TU COMENTARIO

© 2017 website by Rubit Corporation