使用 Ruby 即时编码 Base64
Posted
技术标签:
【中文标题】使用 Ruby 即时编码 Base64【英文标题】:Encoding Base64 on the fly with Ruby 【发布时间】:2015-12-10 14:41:27 【问题描述】:我们的 Rails 项目与邀请模板有关。每张卡片都附有存储在数据库中的 html/CSS。该设计将涉及使用多种字体。为每张卡设置如下并存储在数据库中。
**`@font-face font-family: 'abadi_mt_condensed_lightRg'; src: url('/assets/abadi_mt_condensed_light_regular-webfont.ttf') format('truetype'), font-weight: normal; font-style: normal;
----------------------------------- -------------------------------------------
` 我们想使用 wkhtmltoimage/IMGkit 将卡片转换为图像。看起来 Base64 编码最适合这种没有失真的转换(正确吗?)。当涉及大量卡片时,在数据库中以 Base64 格式存储将是一件巨大而乏味的事情。我们希望在发出请求时即时使用如下 Ruby 方法。
`Base64.encode64(file.open('/assets/abadi_mt_condensed_light_regular-webfont.ttf') |io| io.read )`
------------------------------------------------------------------------
如何做到这一点?任何建议都非常感谢。
【问题讨论】:
【参考方案1】:我相信这应该可以满足您的需求:
ActiveSupport::Base64.encode64(open('/assets/abadi_mt_condensed_light_regular-webfont.ttf') |io| io.read )
【讨论】:
感谢您的回复。然而,我的问题与当卡片作为图像被提取时如何即时执行此转换有关。以上是关于使用 Ruby 即时编码 Base64的主要内容,如果未能解决你的问题,请参考以下文章
Base64 编码的字符串到文件(Ruby on Rails) - 未定义的方法“解包”错误
来自GrayScale的Ruby + RMagick + base64图像+ RGB转换不起作用