初学者铁路问题:如何从 Rails 中的控制器返回文件?
我熟悉返回/渲染 JSON 对象。但是我从未返回/渲染带有任意扩展名的文件。
从阅读周围所以听起来像render :nothing => true
有帮助。我只是在寻找一些指导或相关文档。
您可以使用内置导轨发送文件 or 发送数据方法。
要流式传输文件(例如,对于文件代理端点),请使用 send_file:
send_file("#{RAILS_ROOT}/path/to/file/on/server",
:filename => "client-suggested-filename",
:type => "mime/type")
要流式传输生成的数据(例如生成的 pdf),请使用 send_data:
send_data(your_data,
:filename => "client-suggested-filename",
:type => "mime/type")
文件扩展名和 mime 类型不必匹配,但它们可能应该只是为了符合最终用户的期望。例如,如果您使用 mime 类型发送application/pdf
,你真的应该设置:filename
to something.pdf
.
如果您不确定要发送的文件的 mime 类型,您可以检查这个维基百科页面或使用哑剧类型宝石。 (或者,如果您正在从存储 mime 类型的数据库中读取数据,请使用该数据库)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)