我在返回Web服务时遇到问题, 标题看起来像这样:
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.$this->filename.".csv".'"');
我收集数据并将其返回:
foreach($this->output_data as $each_table) {
foreach($each_table as $each_row) {
foreach($each_row as $each_key => $each_value){
$string .= Sanitize::escape($each_value).$this->delimiter;
}
$string .= "\n";
}
}
print($string);
我希望csv文件作为流回来。但返回的是“ Firefox HTML文档”。 我不明白。
我已经关闭了控制器中的视图渲染。 我该怎么办?
答案 0 :(得分:0)
为什么只是从控制器或模型中回显一些格式化的字符串是不合适的。 我发现有一个用于的响应类。代码如下:
$this->response->header(array( 'Content-Disposition: attachment; filename="<filename.ext>"));
$this->response->type('application/text-csv');
$this->response->body(<returnData>);
请务必使用正确的“类型”。