Ir para o conteúdo
.Tigas.

Converter código binário (bytes) para imagem

Mensagens Recomendadas

.Tigas.    0
.Tigas.

Boa tarde. Estou com um grande problema que me está a impedir de continuar o meu projecto final de curso. Eu tenho uma loja de música onde posso ter instrumentos de músicas e albuns e vende-los às pessoas. Para cada registo tenho uma imagem. Não tive qualquer problema ao procurar imagens, converte-las em código binário e depois fazer o upload para a BD. No entanto, não consigo converter o código binário para imagem. Estou a utilizar o seguinte código:

Const base_dados as string "ligação bd"
Dim db as new sqlconnection(base_dados)
db.open

Dim varsql as string = "Select imagem from imagens where nomeimagem = 'alguamacoisa.jpg'"

Dim dr as sqldatareader
while dr.read
         dim imagem as byte
         imagem = dr.item(1) (posição onde está a minha imagem sendo nome a posição 0)
         Dim ms as new memorystream (imagem)
         with picturebox1
                .image = image.fromstream(ms)
                .sizemode = pictureboxsizemode.centerimage
        end with
End while
db.close

Dá-me o seguinte erro "conversion from type 'Byte()' to type 'Byte' is not valid.

O tipo de dados na minha bd para a imagem é image.

Agradeço desde já.

Editado por thoga31
Tags CODE + GeSHi

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Blackvelvet    0
Blackvelvet

Boas

Quando estive em estagio,tive que guardar as fotos em bd,mas não em pasta, porque a imagem ja estava em pasta e era so adicionar em bd. para tal fiz o seguinte:


'inserir imagem na bd
If Len(dlgFicheiro2.FileName) <> 0 Then
		 arqImgem = New FileStream(dlgFicheiro2.FileName, FileMode.Open, FileAccess.Read, FileShare.Read)
		 oImgem = New StreamReader(arqImgem)
	 End If
'declarei um vetor de bytes para armazenar o conteúdo da imagem a ser salva/ foto
	 Dim arquivoByteArray(arqImgem.Length - 1) As Byte
	 arqImgem.Read(arquivoByteArray, 0, arqImgem.Length)
	 command.Parameters.Add("@foto", SqlDbType.VarBinary, arqImgem.Length).Value = arquivoByteArray

Chamo a atenção que as imagens/fotos ja estavam em pasta e era so preciso buscar-la para inserir na bd. Podes sempre fazer o mesmo

Espero que te seja util.

Um abraço

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
.Tigas.    0
.Tigas.

Obrigado pela ajuda mas não era bem esse o problema, inserir as imagens eu já consigo. Busca-las é que é mais difícil. Mas não faz mal, eu vou guardar apenas o caminho como string nas bds e depois mostro-as nas pictureboxes.

Obrigado de qualquer forma. ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.