Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Korma Silser

[Resolvido] Erro em armazenar imagem.

Recommended Posts

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:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.