【发布时间】:2021-11-25 14:42:40
【问题描述】:
我想公开一个 API 以将 S3 存储桶文件内容作为流下载给它的消费者。 API URL 类似于 /downloadfile/**,即 GET 请求。
- 我现在尝试使用 accept header= 的返回类型应该是什么 应用程序/八位字节流不起作用。
- 我不想将文件的内容写入任何文件并发送。它应该以流的形式返回。
这是我到目前为止编写的控制器伪代码,它一直给我 406 错误。
@GetMapping(value = "/downloadfile/**", produces = { MediaType.APPLICATION_OCTET_STREAM_VALUE })
public ResponseEntity<Object> downloadFile(HttpServletRequest request) {
//reads the content from S3 bucket and returns a S3ObjectInputStream
S3ObjectInputStream object = null;
object = publishAmazonS3.getObject("12345bucket", "/logs/file1.log").getObjectContent();
return object
}
关于这样做的方式以及我做错了什么,这里有什么建议吗?
【问题讨论】:
标签: java spring-boot amazon-s3 java-8