我试图在我的网站上下载pdf文件,但所有我得到的是当前页面源(html)。 正确给出了文件名,但文件本身没有下载。
我尝试过在stackoverflow上找到的各种修复,但它没有帮助。
我已经在htaccess中尝试了AddType application / octet-stream .pdf,还有ForceType。 在这里尝试了php修复: How to make PDF file downloadable in HTML link? 用这个来完成php:
header("Content-disposition: attachment; filename=filename.pdf");
header("Content-type: application/pdf");
readfile("filename.pdf");
然后链接到php文件,仍然是相同的。
我做错了什么,你需要哪些信息才能更好地理解这一点?
答案 0 :(得分:0)
你可能会犯一些错误来检查(和调试)试试这个
<?php
$file = ABSOLUTE_PATH_WHERE_PDF_IS_STORED.'/my.pdf'; //replace *ABSOLUTE_PATH_WHERE_PDF_IS_STORED* with your path
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
} else {
die("FILE [".$file."]" don't exists!");
}
?>
答案 1 :(得分:0)
所以我发现问题,当然很明显,我错误地链接到文件,因为我使用cms它发送了首页源(默认行为)。 特别是html5下载属性无论如何都不起作用。
感谢Donald123和PKa回答。
答案 2 :(得分:-1)
您可以使用带有属性下载的标记
<a href="path/to/file/*.pdf" download>Download this pdf</a>
这是一种快速的方法。