Imagens em rede

6 respostas
R

Olá pessoal. Estou desenvolvendo uma aplicação Cliente/Servidor usando RMI , onde é necessário passar uma imagem de uma pasta na maquina cliente para a maquina onde está o servidor.Da forma que fiz (descrita abaixo) até funciona quando o cliente e o servidor estão na mesma maquina, mas em rede não funciona.

//no Cliente

try

{

File inputFile = new File(c://imagens//imagem1.jpg”);
//o objeto inputFile é passado para o servidor

interfaceRMI.insereImagem(inputFile);

} catch (Exception e){}
//no Servidor

try

{

BufferedImage input = ImageIO.read(inputFile);

File outputFile = new File(Imagens//”+inputFile.getName());

ImageIO.write(input, JPG, outputFile);

} catch (Exception e){}

6 Respostas

cv1

Uma coisa importante eh nunca ignorar as excecoes (usando catch(Exception e) {} ou similares). Assim voce nao perde as mensagens de erro - que nesse caso, provavelmente eh um FileNotFound da vida :smiley:

R

Meu amigo, não consegui usar a classe BufferedImage sem fazer tratamento de excecoes,da erro na compilação. Se souber uma maneira de fazer isso, por favor me diga. Mas não creio que seja um FileNotFound da vida, pois quando o servidor e o cliente estão na mesma maquina funciona. A não ser que quando for passar a imagem usando a rede, tenha que se tratar o arquivo de uma outra forma.

Valeu !!

Rubem_Azenha

depende, como vc passa o arquivo pela rede?

TedLoprao

Ei Renato, acho que o cv quiz dizer para pelo menos colocar um e.printStackTrace(); no seu catch, pq da maneira que vc está fazendo o java nem mesmo mostra qual foi o erro…

Era isso cv??

cv1

Exato! :wink:

R

Ai pessoal o erro é o seguinte. A forma como fiz foi descrita na primeira mensagem.
Usando o e.printStackTrace() mostrou o erro abaixo.

javax.imageio.IIOException: Cant read input file!

at javax.imageio.ImageIO.read(ImageIO.java:1263)

at InterfaceImpl.OperacoesQuestoes(InterfaceImpl.java:214)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAc

java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegating

sorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.

at sun.rmi.transport.Transport$1.run(Transport.java:148)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:144

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTrans

60)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(T

.java:701)

at java.lang.Thread.run(Thread.java:534)
Criado 25 de agosto de 2004
Ultima resposta 27 de ago. de 2004
Respostas 6
Participantes 4