Estou tendo o seguinte erro ao dar get no endpoint que faz a requisição do download de um arquivo PDF que eu crio ao acessar o endpoint.
O pdf vai para este caminho “C:/Users/mathe/Documents/ws/AgendaBackend/src/main/java/com/agenda/resources/pdf/teste.pdf”, Criar o PDF está OK, porém disponibilizar pra download segue o erro:
Código
@RequestMapping(value = "/{id}/download", method = RequestMethod.GET, produces = "application/pdf")
public ResponseEntity<InputStreamResource> downloadPDFFile(@PathVariable Integer id) throws IOException {
String path = service.createPDF(id);
ClassPathResource pdfFile = new ClassPathResource(path);
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
return ResponseEntity.ok()
.headers(headers)
.contentLength(pdfFile.contentLength())
.contentType(MediaType.parseMediaType("application/pdf"))
.body(new InputStreamResource(pdfFile.getInputStream()));
}
Erro:
"timestamp": "2019-07-19T17:08:01.118+0000",
"status": 500,
"error": "Internal Server Error",
"message": "class path resource [C:/Users/mathe/Documents/ws/AgendaBackend/src/main/java/com/agenda/resources/pdf/teste.pdf] cannot be resolved to URL because it does not exist",
"trace": "java.io.FileNotFoundException: class path resource [C:/Users/mathe/Documents/ws/AgendaBackend/src/main/java/com/agenda/resources/pdf/teste.pdf] cannot be resolved to URL because it does not exist\r\n\tat org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195)\r\n\tat org.springframework.core.io.AbstractFileResolvingResource.contentLength(AbstractFileResolvingResource.java:226)\r\n\tat com.agenda.resources.ParecerResources.downloadPDFFile(ParecerResources.java:85)\