使用Sinatra 1.3发送二进制流

Nei*_*ton 3 ruby sinatra

我正在构建一个Sinatra应用程序,该应用程序需要将文件发送给刚从其他位置下载的用户(实际上是代理)。

尽管我可以完成大部分工作,但我无法让Sinatra发送代码中指定的正确文件名。我使用的代码是:

get '/' do
  attachment file.name
  headers['Content-Type'] = file.content_type
  headers['Content-Disposition'] = 'attachment'
  file.body
end
Run Code Online (Sandbox Code Playgroud)

file.body是文件的内容)

如何让Sinatra使用所需的文件名?

Nei*_*ton 5

headers["Content-Disposition"] = "attachment;filename=the_file.txt"
Run Code Online (Sandbox Code Playgroud)