Se alguém puder me ajudar, agradeço muito…
A minha aplicação retira uma foto do oracle e tenta escrever no response…
A minha jsp tem o seguinte trecho:
<logic:iterate id="tecnico" name="listaTecnico">
<tr>
<td><bean:write name="tecnico" property="nome" scope="page"/></td>
<td><img src="photo/show?codigo=${tecnico.codigo_te}" /></td>
</tr>
</logic:iterate>
E o servlet é:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
int codigo;
int size;
byte [] b = new byte[4096];
codigo = Integer.parseInt(request.getParameter("codigo"));
DBTecnico dbTecnico = DBTecnico.getInstance();
response.reset();
response.setContentType("image/jpeg");
response.addHeader("Content-Disposition", "attachment; filename=\"" + String.valueOf(codigo) + "\"");
OutputStream out = response.getOutputStream();
// [i]O método a seguir eu já usar usei pra salvar em disco e funciona...[/i]
InputStream image = dbTecnico.getPhoto(codigo);
while((size=image.read(b)) != -1) {
response.getOutputStream().write(b, 0, size);
}
response.flushBuffer();
image.close();
}
catch(SQLException e) {
e.printStackTrace(response.getWriter());
}
}