2009-11-07 83 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 
相關問題