如果尺寸> Chrome打开文件而不是下载n Kb

时间:2015-12-23 09:42:46

标签: php http-headers

我必须让php生成的文件可以下载,而不能在浏览器中打开。虽然它很小(1-2 kb)文件通常会在下载中保存,但在某些时候,Chrome会开始打开而不是下载。

这是控制器的代码:

public function download($format, $str)
{
    $get_string = rawurldecode($str);
    parse_str($get_string, $get_array);

    $webinar_id = $get_array['webinar_id'];
    unset($get_array['webinar_id']);

    $date = new DateTime();

    $this->output->set_header('Content-type: text/plain');
    $this->output->set_header('Content-Disposition: attachment; filename=Segmentation ' . $date->format('Y-m-d H:i:s') . '.' . $format);

    if (! empty($get_array))
    {
        echo $this->segmentation_model->do_query($webinar_id, $get_array, $format);
    }
}

2 个答案:

答案 0 :(得分:1)

使用CodeIgniter帮助程序正确回答:

def create(conn, params) do
  #some code
  Endpoint.broadcast!("user_room:123", "new_comment", %{comment_content: MyApp.PostView.render(conn, "comment.html", comment: comment)})
  #some code
end

答案 1 :(得分:0)

您是否尝试过添加强制下载内容类型标题?

可以这样做:

$this->output->set_header("Content-Type: application/force-download");

OR

header("Content-Type: application/force-download");