Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível salvar dados da matriz byte[] no banco de dados em C#. Está economizando 0x


Eu estava tendo o mesmo problema, ou seja, a primeira vez que a imagem foi salva corretamente no lado do banco de dados, mas se posteriormente a validação falhasse e eu tentasse salvar a imagem novamente após inserir dados válidos, obteria 0x na coluna da imagem. Para resolver isso, fiz o que @Ann L. disse:
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);
    }
}