4
respostas

Como enviar uma Imagem (Por favor estou precisando esclarecer esta dúvida)

Olá... Estou montando uma API e em minha model existe uma propriedade Image, e preciso salvar esta imagem no banco... Como fazer o envio da imagem baseado na forma de implementação apresentada no curso?

4 respostas

Olá, Eduardo!

Recomendo ler esse artigo sobre o recurso do FileStream do Sql Server 2008:

https://msdn.microsoft.com/pt-br/library/cc716724.aspx?f=255&MSPPError=-2147217396

Resumindo, com o atributo FILESTREAM o Sql Server garante que os dados da imagem sejam gravados em arquivo, e não no banco de dados relacional, e você ainda ganha a integração do backup, que abrange também os dados de FileStream gravados em sistema de arquivos.

Boa sorte e boas aulas!

Prezado Marcelo. Primeiramente, agradeço sua ajuda!

Na verdade, estou desenvolvendo um protótipo da API para empresa que trabalho, e realmente a Imagem faz parte da minha entidade. Esta API será utilizada por nossos clientes para fazer processos de POST, PUT e DELETE em nosso banco...

Então imagine que nosso cliente quer cadastrar uma Pessoa, ele irá consumir a API utilizando POST e passando preferencialmente XML as propriedades a serem gravadas, uma delas é uma FOTO (campo Image no banco e Byte[] na Model)...

Além disso, nosso software pode trabalhar tanto com SQL Server quanto com Oracle, sendo assim, tenho uma classe que de acordo com a configuração faz os CRUDS de acordo com o tipo de banco...

Desde já agradeço...

Oi Eduardo!

salvar imagens no banco de dados é uma má prática e tem diversas desvantagens, dentre elas, tem todo um overhead de processamento toda vez que você for salvar ou recuperar uma imagem para fazer a serialização e deserialização do arquivo.

o boa prática é você salvar essa imagem em alguma pasta do sistema e armazernar no banco de dados apenas o caminho dela. A biblioteca que o marcelo te indicou deve te ajudar a fazer isso

abraço!

Prezado Philippe,

Obrigado por sua resposta... Entendo as vantagens e desvantagens tanto de uma abordagem como da outra...

Apesar de não ser uma boa prática, REALMENTE preciso ter este entendimento, se é possível enviar a imagem ou não pela API...

Temos uma necessidade que é desta forma e preciso atender ao requisito!!!

Grato

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software