php - PHP | 下载 PDF 文件,适用于 Chrome,但不适用于 Safari
问题描述
大家好,我有一个小问题,我不明白解决方案,我有一个专门供用户使用的区域,他可以在其中下载他的 PDF 文件,一切都在 Chrome 上完美运行,但在 Safari 上却不行,我输入了代码:
文件pdf.php:
<?php
while($row_rit_acc = mysqli_fetch_assoc($r_rit_acconto_dfpagate)){ ?>
<?php
$icona_donwload = "<i class='fas fa-file-download'></i>";
$doc = $row_rit_acc['cont_id'];
<td><?php echo "<a href='downloads_doc_contabilita.php?ritacc_df=".$doc."'>".'Download '.$icona_donwload."</a>"; ?></td>
<?php } ?>
下载_doc_contabilita.php:
<?php
ob_start();
session_start();
include 'connection/cnt.php';
if (isset($_GET['ritacc_df'])) {
$id = $_GET['ritacc_df'];
// fetch file to download from database
$sql = "SELECT * FROM bigo_contabilita WHERE cont_id =$id";
$result = mysqli_query($connessione, $sql);
$file = mysqli_fetch_assoc($result);
$filepath = 'uploads/' . $file['cont_richiesta_rit'];
if (file_exists($filepath)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($filepath));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize('uploads/' . $file['cont_richiesta_rit']));
readfile('uploads/' . $file['cont_richiesta_rit']);
exit;
}
}
它可以依赖什么?
解决方案
根据this answer删除必须解决您的问题Content-Length
。header
推荐阅读
- python - 有没有办法在列表中字符串的空格之间插入“-”?
- linux - apt中带有自定义对象的ansible弃用警告
- angularjs - 为什么这条轨道不能在 AngularJS (Angular 1.X) 中工作?
- mongodb - 在 Docker 中与 MongoDb 一起运行 Spring Boot 应用程序 - com.mongodb.MongoSocketOpenException:异常打开套接字
- shiny - 保存带有附加信息的 DT 表(闪亮)
- regex - 为什么 [[:xdigit:]] 在 grep 结果中突出显示字母 e?
- c - 我正在尝试将一个 glogal 结构(trie_node)初始化为我的 main 函数中的头,并且遇到内存分配问题
- python - 为什么在python中使用typing.Generic时保留了cls关键字属性?
- c++ - Bison/flex 识别规则后等待输入
- python - 在 Python 中使用 2 FOR 制作列表/表格