Salvar imagens

5 respostas
R

Olá pessoal, estou desenvolvendo uma aplicação que faz transferencia de imagens em rede usando RMI, estou passado um objeto da classe ImageIcon, gostaria de saber como faço para gravar este objeto em uma pasta no servidor. O codigo abaixo mostra o metodo que envia a imagem (no cliente) e o metodo que recebe a imagem (no Servidor). A dúvida é como salvar a imagem que é recebida.
Desde já agradeço.

//Cliente

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)

{

int valor = caixaDeImagens.showOpenDialog(Cliente.this);
if (valor  == JFileChooser.APPROVE_OPTION)

{

arquivo = caixaDeImagens.getSelectedFile();
try

{

ImageIcon imagem = new File(arquivo.getPath());

Cliente.inter.gravarImagem(imagem );

} catch (Exception e){e.printStackTrace() ;}

}

}

//****************************

//Servidor

public void gravarImagem(ImageIcon imagem) throws RemoteException

{

//como gravar o objeto imagem em uma pasta ??

}

5 Respostas

pcalcado

Você quer salvar um arquivo tipo .gif ou .jpg?

Abra seu arquivo como um array de bytes, use java.io (ou nio se você tiver tempo de aprender) e salve esse array como o arquivo desejado :wink:

Se for um objeto apenas, serialize-o :wink:

[]s

R

pcalcado escreveu!

//**********************************************
Abra seu arquivo como um array de bytes, use java.io (ou nio se você tiver tempo de aprender) e salve esse array como o arquivo desejado

Se for um objeto apenas, serialize-o

//**************************************************

O arquivo é .jpg.
Não sei como abrir o arquivo como array de bytes, nunca fiz isso. No caso de serializar o objeto não é necessario pois a classe ImageIcon é serializada.
Se for possivel me passe um codigo que mostre co fazer isso.
Valeu !!!

aborges

Postar o codigo perde a graca !!! :wink:

Dah uma olhada NISTO.
Caso vc tenha alguma duvida, daih nos conversamos

R

Olha, tinha pensado em usar o código abaixo, mas para usar o comando ImageIo.read() tenho que passar como parametro um objeto da classe InputStream ou File ou ImageInputStream.
Mas com a pouca experiência que tenho não sei como transformar meu objeto ImageIcon em um destes parametros, por isso pedi o código.

//BufferedImage input = ImageIO.read(InputStream imagem);

File outputFile = new File(Imagens//imagem.jpg”);

ImageIO.write(input, JPG, outputFile);
jcranky

Dê uma olhada na classe FileInputStream, como o aborges falou. Essa classe herda de InputStream, então você pode usá-la no ImageIO.read sem problemas :wink:

Outra coisa, use as tags [code*] e [/code*] (sem os asteríscos) quando postar código, fica mais fácil ler :smiley:

Criado 18 de outubro de 2004
Ultima resposta 22 de out. de 2004
Respostas 5
Participantes 4