wul*_*one 9 mysql ruby-on-rails image
所以,我设法将一个图像blob放到我的MySQL数据库中(该字段中有一个大的十六进制数字),但我找不到任何关于如何在rails环境中显示图像的文档...当它打印出来时,它从一个GIF89开始...然后当你在记事本中打开它时,你在GIF中看到的gobbledygook字符.:P任何线索将不胜感激!
谢谢.
Rau*_*nak 24
以下代码应该有效.在您的控制器中,创建一个方法:
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.它使得保存/查看图像变得非常容易.
Ann*_*nna 14
因为你提到"快速而肮脏",我会把它作为另一种选择 -
<%= ('<img src="data:image/jpg;base64,%s">' % Base64.encode64(@the_data)).html_safe %>
Run Code Online (Sandbox Code Playgroud)
我认为这最接近你想做的事情.这个代码不应该原样使用有几个原因,但它很简单.我必须更多地思考一个想法是多么糟糕,将整个事物标记为html_safe.此外,这在旧版本的IE中不起作用.
小智 5
你还应该添加
resources :users do
get 'show_image', :on => :collection
end
Run Code Online (Sandbox Code Playgroud)
要么
get users/show_image" => "users#show_image"
Run Code Online (Sandbox Code Playgroud)
之前
resources :users在route.rb文件中
| 归档时间: |
|
| 查看次数: |
11691 次 |
| 最近记录: |