首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BufferedImage将Base64编码为JRuby (Java)

用BufferedImage将Base64编码为JRuby (Java)
EN

Stack Overflow用户
提问于 2014-06-15 15:45:01
回答 1查看 287关注 0票数 1

我正在动态地创建一个BufferedImage,并尝试将其编码为Base64字符串,以便在模板中显示如下所示的图像:

代码语言:javascript
复制
<img src="data:image/gif;base64, [base 65 string]>

我有一个BufferedImage变量,我试图将它写到磁盘上进行测试,然后成功地编写映像:

代码语言:javascript
复制
ImageIO.write(@img, "gif", Java::JavaIo::File.new(filename))

如何从@img变量(不写入磁盘)获得字节字符串,以便将其编码到Base64中并显示在模板中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-15 18:40:20

您可以用StringIO方法在org.jruby.util.IOOutputStream中包装一个to_outputstream,并将其写入,然后用StringIO#string获取字节

代码语言:javascript
复制
sio = StringIO.new
outputstream = sio.to_outputstream

ImageIO.write(@img, "gif", outputstream)

encoded = Base64.encode64(sio.string)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24231335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档