【发布时间】:2018-06-20 01:42:03
【问题描述】:
我在 Mozilla 或 Internet Explorer 中设置 PDF 下载时遇到问题,您可能从标题中了解到。如果我出于某种原因尝试下载 something.pdf,它会变成带有单引号的“something.pdf”,这当然会导致无法阅读,因为它不是有效的文件扩展名。我一直在寻找遇到同样问题的人,但遇到的情况很少,没有一个解决方案适合我。我很迷茫,并且一直试图弄清楚这个问题,所以我在这里。以下是发生下载的代码部分。 PHP 变量 $OrderNumber 只是一个五位数字,而 $FileNameToDownload 是指向 PDF 位置的整个目录(我已经检查过它没有单引号)。
header('Content-Description: File Transfer');
header('Content-Type: application/zip');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename='$OrderNumber'");
header("Content-Transfer-Encoding: binary ");
header('Content-Length: ' . filesize($FileNameToDownload));
while(ob_get_level()) ob_end_clean();
flush();
readfile($FileNameToDownload);
唯一存在问题的浏览器是 Mozilla 和 IE。在 Chrome 和 Opera 中,它似乎工作得很好。任何帮助都将不胜感激,因为我已经被困了一段时间而没有前进。如果有另一种下载 PDF 的方法,我对它非常开放,但是除了这个方法之外,我发现和尝试的所有方法都在控制台中给我带来了安全错误,因为它试图从中提取 PDF。非常感谢,如果需要更多详细信息,我很乐意提供,但我尽量做到详尽。
【问题讨论】:
-
Mozilla 是一家生产多种不同产品的公司。该浏览器称为Firefox。您不会将 Chrome 称为“Google”、Edge 称为“Microsoft”或将 Safari 称为“Apple”,对吗?
-
你是对的,如果这引起了混乱,我深表歉意。我觉得无论如何应该已经足够清楚了,但是为了避免将来发生这种情况,我会仔细检查我是否使用了适当的名称!感谢您的回复,感谢所有反馈。
-
...然后去你的帖子里改正?下方有一个edit 按钮。
标签: php internet-explorer pdf firefox download