2009-11-07 75 views

回答

0

我认为这取决于您要返回给用户的内容类型和类似标题。 请返回类似:

 
header('Content-disposition: attachment; filename=movie.mpg'); 
header('Content-type: video/mpeg'); 

编辑:我假设你能够产生头和HTTP文件返回给用户(没有简单的链接文件)

0

我认为你正在尝试给予像文件浏览器对话框这样允许客户将文件保存在特定位置的东西。

如果您试图从您的服务器提供此信息,那么我应该说这是不可能的,因为浏览器制造商应用了安全限制来确保客户端的安全。

另一种方式是让客户端下载你的浏览器插件/ ActiveX控件,它基本上是控制客户端的机器,然后你可以做你想做的事情,即这样的事情。

我认为如果没有这个,客户端下载的文件类型会被浏览器识别(基于头文件),并自动打开文件保存对话框,您无法进入客户端的安全领域。

+0

如何允许客户端下载的浏览器插件/ ActiveX控件?你能建议如何做到这一点吗? – Aditya 2009-11-07 08:50:06

+0

当我们制作ActiveXControl,然后在网站中使用它作为JavaScript对象时。 这个JavaScript对象可以调用用ActiveXControl编写的函数,如xmlhttprequest插件在其插件中有send()方法。 当客户端浏览它要求下载该插件。如果您允许浏览器下载并为您安装。 同样,你的插件将被安装,但插件大多不被推荐,因为大多数用户不愿意下载,直到它是从用户信任的站点的东西。 – 2009-11-07 11:54:18

1

我认为你正在寻找send_file - 它非常易于使用。

0

我想你想下载文件选项。例如在打你 希望用户下载了它一个zip文件的代码,你可以这样做 这样的URL:

class MyController < ApplicationController 
    def downloadzip 
    send_file "path_to_file", :type=>"application/zip" 
    end 
end 
相关问题