在我的一个get方法中,是否可以指定特定的Content-Type和Content-Disposition?收到我的数据后,我正在这样做:
return Scope::get('CsvFormat')->encode($data);
所以返回的数据是CSV格式。现在我想将内容类型设置为text / csv并设置Content-Disposition,以便它实际允许文件下载,而不是仅显示内容。
答案 0 :(得分:1)
这是一个有效的例子!
在Excel.php
<?php
class Excel
{
/**
* Download CSV data which can be rendered with Excel
*
* @return array
* @format CsvFormat
* @header Content-Disposition: attachment; filename="excel.csv"
*/
public function download()
{
//csv compatible array
$data = [['name' => 'John Doe', 'age' => '23'], ['name' => 'Mika', 'age' => '45']];
return $data;
}
}
您的index.php
<?php
require '../vendor/autoload.php';
use Luracast\Restler\Restler;
$r = new Restler();
$r->addAPIClass('Excel');
$r->setOverridingFormats('CsvFormat');
$r->handle();
尝试http://localhost/excel/download