none
convertir byte[] a image en visual estudio 2008 desde sql server 2005 RRS feed

  • Pregunta

  • Hola! hace tiempo estoy con un problema que no puedo resolver..

    pretendo levantar una lista de premios que contiene una imagen (binary en el sql), quiero convertirla a image

    EL problema es que en la linea indicada, se quieba y me da el siguiente error:"El parametro no es Valido"

     he buscado incansablemente y no encontre la solucion, cualquier ayuda sera agradecida!!!                                                                     

       

     Metodo que convierte una Byte[] a image  

          public Image byteArrayToImage(byte[] byteArrayIn)
            {
                MemoryStream ms = new MemoryStream(byteArrayIn);
                ms.Position = 0;
                Image returnImage = Image.FromStream(ms); <--------------------------------esta linea!!!
                return returnImage;
            }

           

    //LISTAR PREMIOS
            public List<Premio> ListarPremios()
            {

                List<Premio> _resultado = new List<Premio>();
                Premio _premio = null;
              
                Image _imagen = null;

                SqlConnection oConexion = new SqlConnection(Conexion.Cnn);
                SqlCommand oComando = new SqlCommand("LISTARPREMIOS", oConexion);
                oComando.CommandType = CommandType.StoredProcedure;


                SqlDataReader oFila;


                try
                {

                    oConexion.Open();
                    oFila = oComando.ExecuteReader();
                    while (oFila.Read())
                    {


                        Image img = Bytes2Image((byte[])oFila["Foto"]);


                        if (img != null)
                        {
                            _imagen = img;
                        }




                        _premio = new Premio(Convert.ToInt64(oFila["IDPREMIO"]), oFila["NOMBREPREMIO"].ToString(),               Convert.ToInt32(oFila["PUNTOS"]), Convert.ToDateTime(oFila["FECHACADUCIDAD"]), _imagen);
                        _resultado.Add(_premio);


                    }
                    return _resultado;
                }
                catch (Exception ex)
                {
                    throw new ApplicationException("Problemas en la base de datos al LISTAR LOS PREMIOS :" + ex.Message);
                }
                finally
                {
                    oConexion.Close();
                }


            }


    Biny Debug

    sábado, 3 de marzo de 2012 21:29

Todas las respuestas