在Ci中使用下载助手时,我会在页面加载时弹出文件下载,如何阻止?
答案 0 :(得分: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做到这一点,这样用户永远不会离开页面。
答案 1 :(得分: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);
}