Ho bisogno di restituire l'immagine nel mio controller Spring. provo risposta in questo Spring MVC: How to return image in @ResponseBody? ma non funzionaCome restituire l'immagine in Spring REST al browser
il mio codice è come questo
@RequestMapping(value = "cabang/photo", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<byte[]> getPhoto() throws IOException {
File imgPath = new File("D:\\test.jpg");
byte[] image = Files.readAllBytes(imgPath.toPath());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG);
headers.setContentLength(image.length);
return new ResponseEntity<>(image, headers, HttpStatus.OK);
}
ma quando accedo nel browser, esso non mostra nulla (proprio nessuna icona foto). Ma se leggo l'array di byte dell'immagine, non è vuoto. Mi manca qualcosa nel mio codice?
Aprire la console di rete del browser e verificare ciò che la risposta contiene. Pubblica qui. –
oh, sembra che il tipo sia ancora 'documento'. Ma l'ho impostato nelle intestazioni, quindi dovrebbe restituire l'immagine. Forse l'ho impostato nel modo sbagliato? –
Cosa attualmente è necessario impostare correttamente l'intestazione del tipo di contenuto. Verifica che il metodo del gestore sia correttamente richiamato. Si noti che '@ ResponseBody' non è necessario poiché il tipo di ritorno è' ResponseEntity'. Rimuoverla. –