通过REST API发送CSV文件作为响应

时间:2018-10-15 10:06:26

标签: laravel rest laravel-5

我需要通过rest api发送CSV文件。 我正在使用 reactjs 进行前端开发,并使用 Laravel 构建后端api。 我对如何通过api响应发送CSV文件感到困惑? 谁能帮我吗?

1 个答案:

答案 0 :(得分:1)

此功能将下载csv文件

public function downloadCSV(Request $request){
        $table = User::orderBy('created_at','desc')->with('user')->get();
        $filename = "users.csv";
        $handle = fopen($filename, 'w+');
        fputcsv($handle, array('user_name','user_email','country','state','address','zip_code','city'));
        foreach($table as $row) {
            fputcsv($handle, array(
                $row['user_name'],
                $row['user_email'],
                $row['country'],
                $row['state'],
                $row['address'],
                $row['zip_code'],
                $row['city']
            ));
        }
        fclose($handle);
        $headers = array('Content-Type' => 'text/csv');
        return response()->download($filename, 'users.csv', $headers);
    }