Ola, encontrei esse código em um post do forum que mostra o arquivo no navegador
@RequestMapping(method = RequestMethod.GET, value = "/download/{fileName}")
public void download(HttpServletResponse response, @PathVariable("fileName") String fileName) {
String path = servletContext.getRealPath("/upload/");
Path arquivo = Paths.get(path, fileName + ".pdf");
if(Files.exists(arquivo)) { //inline
response.setHeader("Content-Disposition", "inline");
response.setContentType("application/pdf");
try {
Files.copy(arquivo, response.getOutputStream());
response.getOutputStream().flush();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
entao eu alterei o código para mostrar imagens dessa forma:
@RequestMapping(method = RequestMethod.GET, value = "/file/{filePath}")
public void file(HttpServletResponse response, @PathVariable("filePath") String filePath) {
String path = servletContext.getRealPath(filePath);
System.out.println("Caminho real do arquivo: "+filePath);
Path arquivo = Paths.get(filePath);
if(Files.exists(arquivo)) { //inline
response.setHeader("Content-Disposition", "inline");
response.setContentType("image/png");
try {
Files.copy(arquivo, response.getOutputStream());
response.getOutputStream().flush();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
e nas minhas paginas fiz o seguinte:
<img width="280px" height="395px" src="<c:url value="/file/${produto.sumarioPath }" /> />" class="product-featured-image" />
Mas continuo recebendo o erro 404 o que estou fazendo de errado?