我想在后端集成CSV下载。 CSV文件不必保存在服务器上,因此只需一个简单的Array-to-CSV即可下载。
我知道在TYPO3中使用FAL非常繁琐,所以我想知道我的问题是否有一个简单的解决方案。就像打电话给#34;下载"动作返回" CSV字符串"下载?
我确实使用了这个solution进行下载操作,但我正在寻找一种没有FAL的解决方案,而且不会将文件保留在服务器上。
答案 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()
并返回任何简单数据类型都应该有效。