sql >> Base de Datos >  >> RDS >> Sqlserver

No se pueden guardar los datos de la matriz byte[] en la base de datos en C#. esta ahorrando 0x

Estaba teniendo el mismo problema, es decir, la primera vez que la imagen se guardó correctamente en el lado de la base de datos, pero si la validación fallaba posteriormente y luego intentaba guardar la imagen nuevamente después de ingresar datos válidos, obtenía 0x en la columna de la imagen. Para resolver eso, hice lo que @Ann L. dijo:

byte[] photo = null;

if(model.Photo != null)
{
    var stream = model.Photo.InputStream;
    stream.Position = 0;

    using(BinaryReader br = new BinaryReader(model.Photo.InputStream))
    {
        photo = br.ReadBytes(model.Photo.ContentLength);
    }
}