显示csv文件而不是下载

时间:2013-12-09 17:19:07

标签: php .htaccess opencart

我知道已经有很多话题已经开启,但是,我已经尝试了一切,但没有取得任何成功。

这是我的问题:

我在opencart上安装了一个插件,该插件应允许管理员以XML,CSV或Excel文件导出订单。但是,浏览器会打开文件而不是下载文件。该插件在作者的演示页面上运行良好。我问作者是否有一些解决这个问题的线索,没有任何具体的答案。在尝试了很多可能的解决方案后,我开始认为问题可能是由我的服务器设置引起的。

标题如下所示:

$this->response->addHeader('Content-Type: application/vnd.ms-excel; charset=UTF-8');
$this->response->addHeader('Content-Disposition: attachment; filename="orders-' . date('YmdHis') . ".{$fext}\"");
$content = (($fext == 'csv') ? mb_convert_encoding($this->render(), 'GBK', 'UTF-8') :
$this->render());

我尝试更改text / csv,application / csv,application / octet-stream等内容类型。什么都没有。

在我的.htaccess文件中,我尝试添加此代码:

AddType application/octet-stream .csv
AddType application/octet-stream .xls

这一个:

<FilesMatch "\.(?i:xls|csv)$">
 Header set Content-Disposition attachment
</FilesMatch>

也没有任何成功。

有人有想法吗?

由于

1 个答案:

答案 0 :(得分:0)

添加标题后,在下面添加以下行:

$this->response->setOutput($output);

输出变量应包含csv字符串数据。你也可以尝试:

$this->response->setOutput($this->render());

不确定您的订单导出工具如何根据您的描述创建csv,但希望这能够解决问题。