我不确定如何解决这个问题。我有一个链接,当点击下载文件到用户的机器。该文件为pdf格式。如果我将文件复制并粘贴到桌面上,然后打开该副本,它将工作得很好。然而,当用户下载并尝试打开时,我得到的结果是:

以下是代码:(仅供参考:我在此之前对文件名进行了验证..)
$file_name = $dat->filename; //'file.avi';
$file_url = $dat->path . $dat->url . $filename;
header('Content-Type:'. $dat->type);
header("Content-disposition: attachment; filename=\"" . $file_name . "\"");
header("filename=\"" . $file_name . "\"");
readfile($file_url);
exit;我已经尝试了多个头文件,但似乎都不起作用。我在这个编码中做错了什么?在我看来,这个文件是有效的,应该是用户机器上的一个简单副本,就像我在本地制作的副本一样。
更新
我按照Marcin的建议,在Sublime中打开了文件。这是我得到的..。没有身体?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" type="text/css" href="/assets/jQuery/jquery-ui-1.12.1/jquery-ui.min.css">
<script src="/assets/jQuery/jquery-3.2.1.min.js"></script>
<script src="/assets/jQuery/jquery-ui-1.12.1/jquery-ui.min.js"></script>
<script src="/assets/pdfObject/pdfObject.js"></script>
<style>
body{
overflow: hidden;
}
.pdfobject-container {
height: 99vh;
overflow: hidden;
}
</style>
<title></title>
</head>
<body>发布于 2017-08-19 00:51:04
我会在文本编辑器或二进制编辑器中打开文件,看看里面是什么。我的猜测是,你会发现一些PHP通知/错误消息,或者其他污染数据的东西。
https://stackoverflow.com/questions/45761421
复制相似问题