TYPO3:后端文件下载

时间:2017-09-04 08:36:57

标签: typo3 typoscript fluid extbase

我想在后端集成CSV下载。 CSV文件不必保存在服务器上,因此只需一个简单的Array-to-CSV即可下载。

我知道在TYPO3中使用FAL非常繁琐,所以我想知道我的问题是否有一个简单的解决方案。就像打电话给#34;下载"动作返回" CSV字符串"下载?

我确实使用了这个solution进行下载操作,但我正在寻找一种没有FAL的解决方案,而且不会将文件保留在服务器上。

1 个答案:

答案 0 :(得分:1)

无需FAL或在服务器上保存文件。您可以在控制器中添加自定义操作,设置内容类型和处置标头以便像下载一样处理您的请求:

public function exportAction {
    // Just an example on how you could access the downloadable data.
    $records = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'tx_domain_model_table');
    $data = // modify the result to be a csv encoded string, json or whatever you want it to be.

    header('Content-Type: text/x-csv');
    header('Content-Disposition: attachment; filename="download.csv"');
    header('Pragma: no-cache');

    return $data;
}

例如,$data等于csv编码数组。

更有趣的是您希望下载哪种数据。要使数据可下载,设置header()并返回任何简单数据类型都应该有效。