gpt4 book ai didi

ruby-on-rails - 在 rails 应用程序中设置下载文件的文件名

转载 作者:行者123 更新时间:2023-12-03 21:05:28 25 4
gpt4 key购买 nike

我有一个 Controller 操作,允许用户下载扩展名为 .ppt 的文件。它不是真正的powerpoint二进制文件,只是powerpoint可以读取的xml-ish格式。该文件是从名为 ElementsController 的 Controller 的 show action 下载的,但 show action 实际上并未在 Controller 中定义,但是,在 app/views/elements/show.ppt.builder 中有一个模板文件。我在 config/initializers/mime_types.rb 中注册了 Mime::Type,如下所示:
Mime::Type.register "multipart/related", :ppt
并且文件正确下载,并在Windows系统上用powerpoint打开,但问题是文件名。文件名是 3.ppt,其中三个是 url 中的 id 参数。我想知道是否有办法将文件名设置为比 3.ppt 更具描述性的内容。

谢谢,

-C

最佳答案

您可以使用 send_data :

send_data pptdata, :filename => 'your_file_name.ppt', 
:disposition => 'inline', :type => "multipart/related"

这样做的另一个优点是您可以使用 x-sendfile,这样您就不会在客户端下载数据时等待。

另一种选择是有一条路线,如:

/elements/3/files/foo.ppt

然后在 FilesController 的 show 方法中,您可以发送任何 id 参数。

关于ruby-on-rails - 在 rails 应用程序中设置下载文件的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com