ruby - 从 sinatra 返回 base64 图像

标签 ruby sinatra

我想在电子邮件中提供跟踪图像。

电子邮件将调用 sinatra 路由,该路由将返回图像。

在 Rails 中,我会这样做:

send_data Base64.decode64("R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="), type: "image/gif", disposition: "inline"

我该如何在 sinatra 中执行此操作?

最佳答案

get '/route' do
  content_type 'image/gif'
  Base64.decode64("R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
end

如果你想设置处置,你可以这样做(例如):

headers 'Content-Disposition' => 'inline;filename="tracking.gif"'

attachment 'tracking.gif', 'inline'

关于ruby - 从 sinatra 返回 base64 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31763686/

相关文章:

ruby - Sinatra 设置设置 (Ruby)

ruby-on-rails - 没有路由匹配 { :action= >"edit", :controller= >"users"}

ruby - define_method 带有预定义的关键字参数

jquery - 使用 Sinatra 和 jQuery 而无需在 POST 上重定向

ruby - 从 Sinatra 路由访问 EventMachine channel

ruby - 带有 sinatra 的 Heroku 没有 RAILS_ROOT 或 Rail.root

ruby-on-rails - 如何提取 HTML 页面中的搜索元名称以使用 Nokogiri 提取内容

ruby-on-rails - 创建协议(protocol)时 Paypal Rest Api 内部服务器错误

ruby-on-rails - 如何在一个葡萄 block 中创建两条路线?

ruby - Sinatra 部分数据?