首页 > 解决方案 > 如何将 S3 对象转换为 springBoot 中的资源?

问题描述

我有一个 S3Object 类型的视频。

我正在尝试使用以下代码将其转换为资源。

Resource resource = new InputStreamResource(video.getObjectContent());

我收到以下错误

"InputStream has already been read - do not use InputStreamResource if a stream needs to be read multiple times"

是否可以直接将 S3Object 作为资源读取?

我该如何纠正?

标签: javaspring-boot

解决方案


看起来像在传递到 InputStreamResource 之前,您使用某种方法进行流式传输。或者如果您的 s3 url 是可公开访问的更好的方法,然后尝试这样

@Autowired
ResourceLoader resourceLoader;

在方法使用如下。

   Resource resource = resourceLoader.getResource(<s3 url>)

推荐阅读