Inquiridor
Comprimir Imagem para Gravar SqlServer C#

Pergunta
-
bom dia pessoal,
tenho uma aplicação onde a funcionalidade principal é gravar propostas escaneadas, para tal eu tenho uma table específica para isso contendo um campo varbinary(MAX).
Nos testes percebi que o banco aumentou muito de tamanho em função claro destas imagens, gostaria de saber se existe alguma forma de comprimir as imagens para gravar no banco de dados e ao baixar as imagens no disco a mesma ganhe a qualidade que tinha ao ser gravada.
P.S. Obrigatoriamente por diversas questões entre elas segurança, as imagens devem ficar no banco de dados.
Leonardo Jacques da Silva Desenvolvedor .net
Todas as Respostas
-
Se a imagem for do tipo jpeg, nao tem muita coisa a ser feita (sem perder qualidade). Ja se a imagem é tiff, voce pode simplesmente compacta-la com o a biblioteca do 7-zip (disponivel em c#) e descompata-la quando for usar.
Nos de mais detalhes...
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Sugerido como Resposta Guilherme Bacellar Moralez quarta-feira, 9 de setembro de 2015 21:56
- Não Sugerido como Resposta Guilherme Bacellar Moralez quinta-feira, 10 de setembro de 2015 14:07
-
Olá Leosul.
Sua pergunta tem diversas soluções, então por favor me responda algumas dúvidas para eu poder te ajudar melhor ;)
1-) As imagens tem formato fixo (p. ex: Somente BMP ou GIF) ou pode ser qualquer coisa?
2-) A compressão, você prefere fazer automágicamente em C# ou quando o usuário for "importar" já vai estar comprimido?
3-) Você pretende gravar algum tipo de hash para garantir a integridade da imagem sempre que for consulta-la?Obrigado ;)
-
Boa tarde,
É necessário que você armazene a imagem no banco? Porque uma solução para não sobrecarregar o banco de dados é a gravação das imagens em um diretório a parte e, no banco de dados, apenas o seu caminho.
Abs.
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx