byte[]到映像的转换spring boot

dtcbnfnu  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(455)

我需要澄清与字节[]图像转换在 Spring 启动,根据下面的代码我可以得到图像,但它不能显示。所以我需要在调用api时显示图像的解决方案,http://localhost:9000/文件/d317447b-7235-47c5-9923-bc65aae89d76

  1. @GetMapping("/files/{id}")
  2. public ResponseEntity<byte[]> getFile(@PathVariable String id) {
  3. FileDB fileDB = storageService.getFile(id);
  4. log.info("{}->{}","FILES_GET_BY_ID:",id);
  5. return ResponseEntity.ok()
  6. .header(HttpHeaders.ACCEPT, "attachment; filename=\"" + fileDB.getName() + "\"")
  7. .body(fileDB.getData());
  8. }

最后我找到了解决办法。

  1. @GetMapping("/files/{id}")
  2. public ResponseEntity<byte[]> getFile(@PathVariable String id) {
  3. FileDB fileDB = storageService.getFile(id);
  4. log.info("{}->{}","FILES_GET_BY_ID:",id);
  5. return ResponseEntity.ok()
  6. .contentType(MediaType.IMAGE_JPEG)
  7. .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileDB.getName() + "\"")
  8. .body(fileDB.getData());
  9. }
6yjfywim

6yjfywim1#

我认为您需要更改http报头而不是使用accept使用报头内容配置还需要将响应类型设置为相关类型。

相关问题