我成功地将图像Blob存储到了MySQL数据库中(字段中有一个大的十六进制数字),但是我找不到任何关于如何在Rails环境中显示图像的文档...当它被打印出来时,它以GIF89...开头,然后是你在Notepad中打开GIF时看到的乱码字符。:P 任何线索将不胜感激!
谢谢。
我成功地将图像Blob存储到了MySQL数据库中(字段中有一个大的十六进制数字),但是我找不到任何关于如何在Rails环境中显示图像的文档...当它被打印出来时,它以GIF89...开头,然后是你在Notepad中打开GIF时看到的乱码字符。:P 任何线索将不胜感激!
谢谢。
def show_image
@user = User.find(params[:id])
send_data @user.image, :type => 'image/png',:disposition => 'inline'
end
根据您的看法:
<%= image_tag url_for(:controller => "mycontroller", :action => "show_image", :id => @user.id) %>
我建议使用Paperclip gem,它可以让保存/查看图像变得非常容易。
因为你提到了“快速而简单”的方法,我会抛出这个作为替代方案 -
<%= ('<img src="data:image/jpg;base64,%s">' % Base64.encode64(@the_data)).html_safe %>
我认为这是最接近你想要做的事情了。虽然这段代码有一些不应该直接使用的原因,但它很简单。我需要再考虑一下将整个内容标记为html_safe是否是一个非常糟糕的想法。此外,在旧版本的IE中这将无法工作。
%s">' % Base64.encode64(@....
这部分的含义是什么???(百分号后跟着s
再跟着百分号) - belgorosresources :users do
get 'show_image', :on => :collection
end
get users/show_image" => "users#show_image"
之前
route.rb
文件中的 resources :users