ImageIO

Fala aeh Pessoal :smiley:

Estou tentando salvar uma imagem via linha de código, se eu tento colocar uma imagem que está dentro do meu computador via BufferedImage e depois salva-la em outra parte do meu hd com outro nome eu consigo

                BufferedImage imagem = ImageIO.read(new File("caminho_da_imagem.jpg"));
		ImageIO.write(imagem, "JPG", new File("novo_caminho_da_imagem.jsp"));

Mas eu estou tentando acessar uma imagem de um site qualquer, mas não consigo, com o mesmo código, por exemplo

                BufferedImage imagem = ImageIO.read(new File("http://wen.ch/storage/scrap/littleninja1.jpg"));
		ImageIO.write(imagem, "JPG", new File("C:\\nova_imagem.jpg"));

Gostaria de saber não funciona, e como eu poderia fazer isso funcionar…
O erro que aparece é que ele não consegue ler o arquivo

Desde já Obrigado :slight_smile:

Você não pode usar um “new File (“http alguma coisa”)” mas sim um “new URL (“http alguma coisa”)”. Veja a documentação.

Verdade, estava usando o método errado mas mesmo com o new URL ainda não conseguie, ele me diz "Can’t get input stream from URL! "

	BufferedImage image = null;
		   
	    try {

	        // Read from a URL
	        URL url = new URL("http://www.anime-france.info/images/naruto.jpg");
		image = ImageIO.read(url);
	    } catch ( IOException e) {
		out.println("Erro:"+e.getMessage());
	    }

Alguem tem ideia pq isso acontece ?

Você tem acesso a esse site a partir da máquina que está rodando a sua aplicação?
(Se houver um proxy no meio aí complica, porque pode ser que esteja esbarrando no proxy).

Uhnn… pode ser verdade, estou fazendo do pc do meu trampo, mas eu consegui acessar sem problemas o site do google, mas até a imagem do site do google não abre… é esquisito pq to procurando sobre isso e parece que ninguem está tendo esse mesmo problema que eu

Só para lhe explicar melhor. O Java não lê as configurações de proxy do seu browser, você deve fornecê-las manualmente (definindo umas propriedades com System.setProperty) , e ele não consegue acessar todos os tipos de proxy. Se por exemplo você estiver usando um proxy da Microsoft no seu serviço pode ser que o browser consiga passar as configurações de usuário e senha, mas o Java não.

http://java.sun.com/j2se/1.5.0/docs/guide/net/proxies.html