PHP:PHP手册-Manual

2eafrhcq  于 2023-04-10  发布在  PHP
关注(0)|答案(1)|浏览(115)

我尝试在PHP API中设置$response body,如下所示:

$content = $this->getPDFService()->createPDF();
        $response = $this->app->response->header( 'Content-type', 'application/pdf' )->setBody($content);

但是,它允许我设置header,而不是body:

NOTICE: PHP message: PHP Fatal error:  Uncaught Error: Call to a member function setBody() on string in /var/www/html/App/Controllers/Users.php:1429

也许我在对$this->app->response的调用中缺少了一个抽象层,我已经尝试过设置主体,如$response = $response->setBody($content);,但仍然得到相同的错误。

avwztpqn

avwztpqn1#

查看https://www.slimframework.com/docs/v3/objects/response.html上的Slim框架文档,您似乎没有正确设置头或内容。

$newResponse = $oldResponse->withAddedHeader('Content-type', 'application/pdf');

将内容设置为PDF文件

$newStream = new \GuzzleHttp\Psr7\LazyOpenStream('/path/to/file', 'r');
$newResponse = $oldResponse->withBody($newStream);

相关问题