Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal, estou novamente com problemas... Parece que eles nunca acabam. Bem vamos ao que interessa :).
Estava querendo saber como se faz pra armazenar um imagem sem um banco de dados e encontrei esse exemplo nesse link: http://www.macoratti.net/08/08/net_gibd.htm
O meu código esta exatamente igual ao do link, porém ele da um erro: Value of type 1-dimensional array of byte cannot be converted to byte. A aplicação que baixei do site funciona normal, só que a minha esta dando esse erro.
A aplicação acho que foi desenvolvida no Visual Basic 2008 e eu uso o 2010, não sei se tem alguma coisa a ver com compatibilidade porque quando eu abri a aplicação ele no vb ele entrou com o wizard de conversão.
Esse é o código:
Private Sub btnDefineImagem_Click(sender As Object, e As System.EventArgs) Handles btnDefineImagem.Click
flagForm = True
Dim caminhoArquivoImagem As String = String.Empty
Dim OpenFileDialog1 As New OpenFileDialog
OpenFileDialog1.Title = "Abrir Arquivo Imagens"
OpenFileDialog1.Filter = "JPEG Documents (.jpg)|.jpg|Gif Files|*.gif"
If OpenFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.Cancel Then
Return
End If
caminhoArquivoImagem = OpenFileDialog1.FileName
If String.IsNullOrEmpty(caminhoArquivoImagem) Then
Return
End If
If File.Exists(caminhoArquivoImagem) = False Then
Return
End If
Try
' converte imagem para um byte array e salva
Dim fsImagem As FileStream = Nothing
fsImagem = File.Open(caminhoArquivoImagem, FileMode.Open, FileAccess.Read)
Dim bArrImage(fsImagem.Length) As Byte
fsImagem.Read(bArrImage, 0, Convert.ToInt32(fsImagem.Length))
fsImagem.Close()
'' carroAtual representa um carro definido na classe Carros
'' Imagem e NomeImagem são membros de Carros
carrosAtual.Imagem = bArrImage --> o erro se da nessa linha
carrosAtual.NomeImagem = caminhoArquivoImagem
Dim ms As New MemoryStream(bArrImage)
picFoto.Image = Image.FromStream(ms)
ms.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro ao armazenar imagem")
End Try
End Sub
Desde ja obrigado.
Pessoal a resolvi o problema.
Na linha q da o problema é só eu colocar 0 entre parentes
Incorreto:
carrosAtual.Imagem = bArrImage
Correta:
carrosAtual.Imagem = bArrImage(0)
:grin:
Carregando comentários...