Dae galera… eu estou em um projeto web que possui uma pasta no servidor onde ficam armazenadas imagens que o proprio usuário cadastra em um formulario qualquer… o problema é que eu quero percorrer essas imagens e mostra-las na tela…
Tipo… Eu tenho o endereço das mesmas no banco… o que falta é a parte de carregar a imagem e joga-la no jsp!!
Ex:
for().....
<img src=<%=LoadImage.getImage("caminho_no_servidor")%>
}
Para cada registro eu carregaria a imagem correspondente aquele registro… fiz um teste usando esse codigo…
[code]
public class Teste {
public ServletOutputStream doAction(HttpServletRequest request, HttpServletResponse response) throws ServletException {
try {
File file = new File("C:\\Temp\\UploadGabinete\\000010P.jpg");
return download( file.getName(), read( file ), response );
} catch( IOException e ) {
try {
throw new IOException(e.getMessage());
} catch (IOException ex) {
ex.printStackTrace();
throw new ServletException(e.getMessage() + " :: DownloadAnexoDocumentoCommand :: Erro ao carregar arquivo");
}
}
}
// Passe para esse método um File com o arquivo desejado.
public void download( File file, HttpServletResponse response )
throws IOException {
download( file.getName(), read( file ), response );
}
// Lê o arquivo no servidor
public byte[] read( File file ) throws IOException {
byte[] content = null;
int fileLength = (int) file.length();
FileInputStream fileInput = null;
try {
fileInput = new FileInputStream(file);
BufferedInputStream bufferedInput = new BufferedInputStream(
fileInput);
content = new byte[fileLength];
bufferedInput.read(content, 0, fileLength);
bufferedInput.close();
} finally {
if (fileInput != null) {
fileInput.close();
}
}
return content;
}
public ServletOutputStream download( String filename, byte[] content,
HttpServletResponse response ) throws IOException {
//response.addHeader( "Content-Disposition",
// "attachment; filename=" + filename );
//response.setContentType( "image/jpeg" );
ServletOutputStream outStream = response.getOutputStream();
// envia o conteúdo do arquivo para o stream de resposta
try {
outStream.write( content );
outStream.flush();
} finally {
outStream.close();
}
return outStream;
}
}[/code]
Consegui carregar uma imagem… mas apenas uma… , mas qualqeur outra coisa que eu precise mostrar na tela ele não mostra… ele so consegue carregar uma imagem… tentei fazer um for colocando varias imagens e sempre fica uma!!
Se alguém tem algum codigo, link, qualquer coisa que possa me ajudar eu agradeço…
Abraço!!