Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Impossible d'enregistrer les données du tableau byte[] dans la base de données en C#. C'est économiser 0x

J'avais le même problème, c'est-à-dire que la première fois que l'image était correctement enregistrée du côté de la base de données, mais si par la suite la validation échouait et que j'essayais d'enregistrer à nouveau l'image après avoir entré des données valides, j'obtiendrais 0x dans la colonne des images. Pour résoudre ce problème, j'ai fait ce que @Ann L. a dit :

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);
    }
}