如何以PDF格式处理Codeigniter中的文件下载?

时间:2017-08-06 04:54:05

标签: javascript php ajax codeigniter

以pdf格式下载注册详情

1 个答案:

答案 0 :(得分:3)

According to doc

force_download([$filename = ''[, $data = ''[, $set_mime = FALSE]]])

参数:

  • $ filename(string)
  • $ data(混合)
  • $ set_mime(bool) - 是否尝试发送实际的MIME类型

返回类型:
空隙

生成服务器标头,强制将数据下载到桌面。适用于文件下载。第一个参数是您希望下载文件的名称,第二个参数是文件数据。

如果将第二个参数设置为NULL并且$ filename是现有的可读文件路径,则会读取其内容。

如果将第三个参数设置为布尔值TRUE,那么将发送实际文件MIME类型(基于文件扩展名),这样如果您的浏览器具有该类型的处理程序 - 它可以使用它。

一般用法

    $this->load->helper('download');
    force_download('/path/to/pdf.pdf', NULL);

特定于案例的用法 - 放置在控制器中

function file_download()
    {
        $file_name= $this->input->get('file_name');

        $this->load->helper('download');
        $data = file_get_contents($file_name);
        $name = 'My_new_name.pdf'; // custom file name for your download

        force_download($name, $data);
        //force_download($file_name, NULL); will get the file name for you
}

<强> HTML 我们假设您有这样的下载链接

<a class="downloadable" href="/Resumes/Resumes1271354404687.pdf">
    /Resumes/Resumes1271354404687.pdf
</a>

<强>的Javascript

$(function(){
  $('.downloadable').click(function(){

     window.location.href = "<?php echo site_url('CONTROLLER_NAME/file_download') ?>?file_name="+ $(this).attr('href');
  });
});