Bom dia para todos, sou iniciante em java e estou com uma dúvida em relação a determinar o caminho da imagem quando tento carregá-la no meu código fonte.
A configuração de meu é:
Windows XP
java 1.5.0_11
Tomcat 5.0
E o servlet AXIS.
É o seguinte, eu criei um web service que serializa (não sei se a palavra certa) uma imagem e a envia via web service. O código é o seguinte:
import java.io.*;
public class Imagem {
private byte[] img;
private int i;
public byte[] getImagem() {
try {
File bin = new File(/*CAMINHO DA IMAGEM*/);
BufferedInputStream bis = new BufferedInputStream( new FileInputStream(bin));
int bytes = (int) bin.length();
byte[] buffer = new byte[bytes];
int readBytes = bis.read(buffer);
bis.close();
return buffer;
} catch (IOException e){
System.out.println("Erro na abertura do arquivo de imagem...");
System.out.println(e.getMessage());
byte[] nil = null;
return nil;
}
}
}
Observe que é um web service simples que possui somente um método e retorna um byte[]. Mas estou com um problema quando vou abrir a imagem (na linha 9) para ser serializada, se coloco o caminho ex. /imagem.jpg a imagem carregada é a que está na unidade c: do meu computador ou se coloco somente imagem.jpg não é carregado nada, o web service não consegue carregar imagem.
Mas por questão até mesmo de organização eu gostaria de estar colocando todas as imagens dentro de uma pasta, então a estrutura ficaria da seguinte maneira.
webapps
+ webapps/axis
+ webapps/axis/imagens
Eu tentei fazer isso, mas quando eu coloco o caminho das imagens para /imagens/imagem.jpg, o web service não consegue carregar a imagem.