byte[]到映像的转换spring boot

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

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

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

最后我找到了解决办法。

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

6yjfywim1#

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

相关问题