CakePhp 4 在我尝试显示 PDF 时添加“内容类型:文本/html”

问题描述 投票:0回答:0

我试图显示内联 PDF,但我得到的是二进制代码。我在下面展示的模拟在 webroot 中的一个简单的 php 文件中工作正常,但显示来自实体模板的二进制代码。

<?php
header("Content-type: application/pdf"); 
header('Content-Disposition: inline; filename="file.pdf"');    
header("Cache-control: private");
@ readfile('/opt/demo/webroot/document.pdf');
?>

我的布局在我的标题定义之前没有额外的字符:

<?=$this->fetch('content')?>

我从 get_headers() 获取下一个信息:

Array ( [0] => HTTP/1.1 302 Found [1] => 日期:2023 年 4 月 25 日,星期二 03:42:42 GMT [2] => 服务器:Apache [3] => 过期时间:1981 年 11 月 19 日,星期四 格林威治标准时间 08:52:00 [4] => 缓存控制:无存储、无缓存、必须重新验证 [5] => Pragma:无缓存 [6] => 设置 Cookie: PHPSESSID=givi13cckql8v0oq0lnsvn2rvb;路径=/;仅限HTTP; SameSite=宽松 [7] => 设置 Cookie: csrfToken=wbFIJHOSq0HE1K4d0eYljTI2YzUzOWQwMTEyMGEwYjNmMTVhMmM0NTdiYmIxNjU0YTI3MTY3MzE%3D; 路径=/; HttpOnly [8] => 位置: /login?redirect=http%3A%2F%2F107.23.196.88%2Fdocuments%2Fshow%2Ff198a0d3-ffd3-44e3-8715-8f5ed8a05185 [9] => 内容长度:0 [10] => 连接:关闭 [11 ] => 内容类型:text/html; charset=UTF-8 [12] => HTTP/1.1 200 OK [13] => 日期:2023 年 4 月 25 日星期二 03:42:43 GMT [14] => 服务器:阿帕奇 [15] => 到期时间:1981 年 11 月 19 日星期四 08:52:00 GMT [16] => 缓存控制: 无存储,无缓存,必须重新验证 [17] => Pragma:无缓存 [18] => 设置 Cookie:PHPSESSID=avupp24r2uqf66i6d95n6t5hpk;路径=/;仅限HTTP; SameSite=Lax [19] => 设置 Cookie: csrfToken=rfiGOmviqYjfyyyyZbtXVzQ4OTAxNzc5OTc4ZjRmNmI2YmI3ZGZlOWMwYWQ5YWVjMDAyOTg2YmM%3D; 路径=/; HttpOnly [20] => 变化:接受编码 [21] => 连接: 关闭 [22] => 传输编码:分块 [23] => 内容类型: 文本/html;字符集=UTF-8 ) ?>

是否需要再次更改以在模板中使用 Headers?

提前致谢

header cakephp-4.x
© www.soinside.com 2019 - 2024. All rights reserved.