Boa tarde amigos,
estou com um problema ao fazer um upload.
String imagemPath = request.getParameter("imagem");
File file = new File(imagemPath);
BufferedImage img = ImageIO.read(file);
ImageIO.write(img, "jpg", new File("C:\\" + file.getName()));
// grava fisicamente
Quando Eu faço o upload da máquina onde está o projeto, ele funciona normalmente. Mas quando faço de outra máquina, ele não consegue ler a imagem.
Exemplo:
Subindo arquivo da minha máquina fica assim: [color=red]C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg [/color]
Subindo arquivo da máquina de outro usuário fica assim: [color=red]C:\Users\lcosta\Pictures\timbeta.jpg[/color]
Ele só lê local… alguém pode me ajudar?
Obrigado Pessoal! 
Creio que se estiver em um servidor irá funcionar. Já tentou entrar pelo outro computador com o IP de onte esta o sistema : a porta? exemplo: 192.166.10.1:8080 ?
Está no servidor… =/
Ele só consegue enxergar os arquivos que estão no local do servidor, agora os arquivos que estão em outras máquinas… ele fala que não pode ler… =/
Aqui é utilizado o proxy, será que tem algo a ver com isso?
Não é o proxy… acabei de retirar aqui… =/
O seu código abaixo não é upload de forma nenhuma (já tive um colega que cometeu o mesmíssimo erro, e foi difícil convencê-lo que ele não tinha entendido o conceito de upload)… Ele só irá funcionar se o arquivo estiver na mesma máquina que o web container (por exemplo, o Tomcat).
Para fazer upload, você não pega o path do arquivo de um parâmetro do get ou post, e sim usa uma tag ou então alguma coisa que gere essa tag no HTML ou então um Flash (como é o caso do GMail no IE). E no upload você perde a informação do path do arquivo - pense bem. Quando você faz o upload de um arquivo para o GMail, ele não conhece a sua máquina, nem sabe se sua máquina é Windows, Linux ou alguma coisa mais bizarra (um telefone celular rodando Symbian, por exemplo). Portanto, um path de arquivo é completamente inútil para ele.
[quote=entanglement]O seu código abaixo não é upload de forma nenhuma (já tive um colega que cometeu o mesmíssimo erro, e foi difícil convencê-lo que ele não tinha entendido o conceito de upload)… Ele só irá funcionar se o arquivo estiver na mesma máquina que o web container (por exemplo, o Tomcat).
Para fazer upload, você não pega o path do arquivo de um parâmetro do get ou post, e sim usa uma tag ou então alguma coisa que gere essa tag no HTML ou então um Flash (como é o caso do GMail no IE). E no upload você perde a informação do path do arquivo - pense bem. Quando você faz o upload de um arquivo para o GMail, ele não conhece a sua máquina, nem sabe se sua máquina é Windows, Linux ou alguma coisa mais bizarra (um telefone celular rodando Symbian, por exemplo). Portanto, um path de arquivo é completamente inútil para ele.
[quote]
String imagemPath = request.getParameter("imagem");
File file = new File(imagemPath);
BufferedImage img = ImageIO.read(file);
ImageIO.write(img, "jpg", new File("C:\\" + file.getName()));
[/quote][/quote]
Sim sim… eu entendo que não é um Upload…
Só falei para “se tornar” mais fácil o enunciado ou para explicar melhor…
Eu sei fazer um upload… só que eu precisava utilizar com ajax… pelo que pesquisei aqui… tenho que utilizar um iframe escondido… algo do tipo… =/
Obrigado pela correção amigo.