我有一个PHP Web应用程序。我建立了一个从API端点下载PDF的功能,如下所示:
public function importPdf($id)
{
$resource = fopen('tmp/'.$id.'.pdf', 'w');
$this->client->request('GET', $this->url . '/api/users/' . $id . '/pdf', [
'headers' => [
'Authorization' => "Bearer {$this->accessToken()}",
],
'sink' => $resource,
]);
}
这正在调用一个Guzzle实例,该实例运行良好并将PDF文件保存到我的服务器。但是我需要将PDF文件下载到用户浏览器。如果有人能解释如何做到这一点,我将不胜感激。
答案 0 :(得分:2)
您要寻找的是这种东西吗?我使用它来允许用户从其浏览器下载某些文件。
public function functionNameHere($filename){
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
ob_clean();
flush();
readfile($filename);
}