如何在Joomla中设置Content-type?
-
02-07-2019 - |
题
我正在开发一个Joomla组件,其中一个视图需要将自己呈现为PDF。在视图中,我尝试使用以下行设置内容类型,但是当我看到响应时,它仍然是text / html。
header('Content-type: application/pdf');
如果我在常规的php页面中这样做,一切都按预期工作。看来我需要告诉Joomla使用application / pdf而不是text / html。我该怎么办?
注意:设置其他标题,例如 Content-Disposition
,可以按预期工作。
解决方案
从版本1.5开始,Joomla拥有JDocument对象。使用 JDocument :: setMimeEncoding()设置内容类型。
$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/pdf');
在您的特殊情况下,查看 JDocumentPDF 可能值得
其他提示
对于那些认为以上是一个非常古老的答案的人,我确认JDocument :: setMimeEncoding()仍然有效,即使在1.6版本上(还没有在1.7上试过)。
我在joomla 2.5中遇到了同样的问题。在joomla管理面板中点击8小时后,我找到了解决方案。
- 登录您的joomla管理员面板,然后点击媒体管理器
- 点击右上角的选项按钮。这将打开一个包含各种选项的配置选项卡
- 在合法文件扩展名的框中,application / pdf或您需要的任何内容。值以逗号分隔。 注意,显然你必须根据我刚发现的论坛按字母顺序列出内容
- 点击保存按钮 醇>
您现在应该能够将pdfs加载到媒体管理器中。希望这对你有用。我只是设置上传 .mov
扩展名。
问题是它只能使用一次。现在,每当我导航到硬盘上的电影.mov文件时,浏览链接都不起作用。但是如果我选择任何其他文件类型呢?
不隶属于 StackOverflow