2010-12-04 70 views

回答

1

按預期工作,如果您想停止它,請停止使用下載幫助程序。因此,該文件被強制下載到用戶的桌面/下載

你到底做

下載助手發送相應的頭文件?

編輯 好了,所以說你的控制器被稱爲「下載」,你的方法被稱爲「視圖」,顯示像這樣的鏈接到您的下載:

mysite.com/download/process/foo.pdf

download創建方法控制器稱爲process

function process($file) 
{ 
    $this->load->helper('download'); 
    $data = file_get_contents("my-downloads/$file"); // Read the file's contents 
    force_download($file, $data);    
} 

未經測試,但它應該工作

你會想一些驗證等

,使用戶觀看在downloads/view可下載文件,當他們點擊一個鏈接,他們去process方法來下載文件。

在文件下載開始後,您可能會想要重定向或類似的內容,我希望您可以使用AJAX來完成此操作,以便用戶永遠不會離開頁面。

+0

我希望用戶下載文件時,才單擊下載鏈接 – ktm 2010-12-06 10:29:37

1

試試這個:

function do_download($file_name="") 
{ 
    $file_path = 'custom/uploads/project/'.$file_name; 
    header('Content-Type: application/octet-stream'); 
    header("Content-Disposition: attachment; filename=$file_name"); 
    ob_clean(); 
    flush(); 
    readfile($file_path); 
}