如何在 Rails 中使用 link_to_remote 触发文件下载?

5

我希望能够通过Rails使用链接来调用文件下载。我的链接已经可以正常工作,它看起来像这样:

link_to_remote image_tag("icons/ppt_48.png"),
   :url => formatted_element_path(@element, :ppt),
   :method => :get,
   :with => "'stoplight=' + $F('stoplight')"

响应包含正确的文件,但是当响应到来时,下载对话框没有出现。有没有办法调用下载对话框?我需要在IE和Firefox中都能正常工作。

谢谢,

-C

1个回答

7

ParticleTree的一篇文章提到了一个简单而有效的解决方案,完全不涉及AJAX,但会导致文件下载而无需用户离开当前页面:

<form id="super_form" method="post" action="/file/">
    <input type="hidden" id="download" name="download" />
</form>

$('download').value = 'top10';
$('super_form').submit();

这并没有直接回答你如何通过 AJAX 请求下载文件的问题,但我认为这会给你的最终用户带来你所期望的体验。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接