return 来自 sinatra 的 base64 图像

return base64 image from sinatra

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

电子邮件将调用 sinatra 路由,该路由将 return 图片。

在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'