Php 如何使用Guzzle将文件发送到客户端';s的网络浏览器?
因此,我有下面的代码,打算在客户端的web浏览器上下载PDF文件。然而,尽管我在本地机器上通过一个接收器测试了文件创建,但要通过我现在打算使用的方法修改所述代码以实际输出文件,这是一项相当具有挑战性的工作。我是否缺少进行此基于浏览器的文件传输所需的一些相关信息?如果不是,这里会出什么问题Php 如何使用Guzzle将文件发送到客户端';s的网络浏览器?,php,http,guzzle,Php,Http,Guzzle,因此,我有下面的代码,打算在客户端的web浏览器上下载PDF文件。然而,尽管我在本地机器上通过一个接收器测试了文件创建,但要通过我现在打算使用的方法修改所述代码以实际输出文件,这是一项相当具有挑战性的工作。我是否缺少进行此基于浏览器的文件传输所需的一些相关信息?如果不是,这里会出什么问题 $client = new GuzzleHttp\Client(); $response = $client->request('POST', 'http://.../api/report', [
$client = new GuzzleHttp\Client();
$response = $client->request('POST', 'http://.../api/report', [
'headers' => [
'Content-Type' => 'application/json',
'Content-Disposition' => 'attachment; filename="report.pdf"'
],
'body' =>
'{
"template":{"name":"foobar_report"},
"data" : ' . $json .
'}'
]);
Guzzle是一个充当HTTP客户端的库。它通常用于解决与CURL相同类型的问题。这显然只是一段代码,但我看不到有任何地方可以将数据返回给客户机,这当然不需要大量使用。PHP固有地通过HTTP返回HTML。您正在执行的标题设置将使用header()函数完成。我不清楚您是否需要Guzzle,虽然您可能需要检索报表数据,但您不需要使用Guzzle将数据返回给客户端。如果您希望客户端下载PDF,Guzzle不是您要找的。您应该自己发送标题和文件内容,而不使用Guzzle。