为什么文件正在下载而不是在浏览器中查看
Why files are downloading instead of viewing in browser
@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);
}
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;
@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);
}
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;