显示以数据类型保存的图像 - Rails

时间:2017-01-10 16:19:02

标签: ruby-on-rails

我正在尝试将png图像显示在数据库中以二进制格式保存的屏幕上。这是我当前的尝试和失败消息。

控制器:

def index
  @failed_images = FailedImage.order(created_at: :desc).page(params[:page])
end

查看:

<% @failed_images.each do |image| %>
  <%= image.md5 %>
  <%= image.data.encode!('UTF-8') %>
<% end %>

错误:

ActionView::Template::Error:
   "\xEF" from ASCII-8BIT to UTF-8

基本上我只想在屏幕上以我可以定义的尺寸显示图像。我之前从未这样做过,所以任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

UTF-8是一种文本编码,因此将它用于图像数据没有意义。相反,您应该使用img标记内的data URI scheme。像这样:

<%= image_tag "data:image/png;base64,#{Base64.encode64(image.data).gsub("\n", "")}" %>