如何在RShiny中渲染存储于S3桶的JPEG图片
如何在RShiny中程序化读取并渲染S3桶中的JPEG图片?
我正在开发一个RShiny应用,需要读取存储在S3桶中的JPEG图片。目前只能手动下载图片后,用imageOutput()/renderImage()进行渲染,希望实现更程序化的处理方式。
已尝试的方法
- 方法1:使用
aws.s3::s3read_using()结合jpeg::readJPEG()读取图片,代码如下:
bucket_name <- "mybucket/images" object_key <- "myimage.jpeg" image1 <- aws.s3::s3read_using(FUN = jpeg::readJPEG, native = TRUE, object = object_key, bucket = bucket_name)
该方法生成了一个大型nativeRaster对象,我可以通过grid::grid.raster(image1)在视口中显示,但无法在Shiny中渲染这个对象。即便方案不够理想,我也愿意接受先将图片保存到本地,再渲染本地版本的方式。
- 方法2:尝试使用
aws.s3::get_object()函数,得到了一个大型raw对象:
aws.s3::get_object(object_key, bucket_name)
但无法将该raw对象转换为可在RShiny中渲染的图片格式。
感谢提供任何可行思路!
编辑与解决方案:我采用了Mikko的方案,使用save_object()将图片保存至本地文件夹,再通过renderImage()读取渲染。
内容的提问来源于stack exchange,提问作者mbriganti
相关产品推荐
相关产品推荐

