>我正在尝试向以二进制形式保存在数据库中的屏幕上显示 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
基本上,我只想以可以定义的大小在屏幕上显示图像。我以前从未这样做过,所以任何帮助都会很棒!
UTF-8 是一种文本编码,因此将其用于图像数据没有意义。相反,您应该在 img
标记中使用数据 URI 方案。像这样:
<%= image_tag "data:image/png;base64,#{Base64.encode64(image.data).gsub("n", "")}" %>