java - 如何将 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 作为资源读取?
我该如何纠正?
解决方案
看起来像在传递到 InputStreamResource 之前,您使用某种方法进行流式传输。或者如果您的 s3 url 是可公开访问的更好的方法,然后尝试这样
@Autowired
ResourceLoader resourceLoader;
在方法使用如下。
Resource resource = resourceLoader.getResource(<s3 url>)
推荐阅读
- python - 数据框 fit_transform 抛出错误,看似不正确的错误
- python - 当第一列用字符串填充时,在列表列表中添加第二列
- r - 使用 NSE(在 dplyr 中)时出错:找不到对象“值”
- spring-cache - 如何动态更改 Spring CacheManager?
- marklogic - 根据原始目录结构动态设置集合名称
- html - 在 IOS 移动设备上未按比例缩小的 Wordpress 图像
- html - CSS媒体查询不覆盖样式
- java - 为什么我的字符串在将其转换为双精度后不会传递给我的方程式?
- reactjs - simpleWebRTC RemoteMedia 视频不包含正确的 screenCapture bool
- javascript - 无法动态构建 svg 路径反应原生