我知道已经有很多话题已经开启,但是,我已经尝试了一切,但没有取得任何成功。
这是我的问题:
我在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>
也没有任何成功。
有人有想法吗?
由于
答案 0 :(得分:0)
添加标题后,在下面添加以下行:
$this->response->setOutput($output);
输出变量应包含csv字符串数据。你也可以尝试:
$this->response->setOutput($this->render());
不确定您的订单导出工具如何根据您的描述创建csv,但希望这能够解决问题。