为什么文件正在下载而不是在浏览器中查看

时间:2021-05-10 07:19:47

标签: java spring-boot spring-mvc jpa

@RequestMapping( value= "/get/{imageName}",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE ,method = RequestMethod.GET)
    public ResponseEntity<byte[]> getImage1(@PathVariable("imageName") String imageName) throws IOException {
    final Optional<ImageModel> retrievedImage = imageModelRepository.findByName(imageName);
    ImageModel img = new ImageModel(retrievedImage.get().getName(), retrievedImage.get().getType(),retrievedImage.get().getPicByte());
    byte[] imageArray= retrievedImage.get().getPicByte();
    
    return ResponseEntity.ok().body(imageArray);
    

}

1 个答案:

答案 0 :(得分:0)

Content-Type of application/octet-stream 强制它始终下载。

您可以尝试以下操作:

...
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("image/jpeg"));
...
headers.add("Content-Disposition", "inline; filename=" + fileName);
...
ResponseEntity<byte[]> returnValue = new ResponseEntity<>(imageArray, headers, HttpStatus.OK);

return returnValue;
相关问题