如何在Joomla中设置Content-type?

时间:2008-09-25 13:39:56

标签: php http joomla content-type

我正在开发一个Joomla组件,其中一个视图需要将自己呈现为PDF。在视图中,我尝试使用以下行设置内容类型,但是当我看到响应时,它仍然是text / html。

header('Content-type: application/pdf');

如果我在常规的php页面中这样做,一切都按预期工作。看来我需要告诉Joomla使用application / pdf而不是text / html。我该怎么办?

注意:设置其他标头(例如Content-Disposition)可按预期工作。

3 个答案:

答案 0 :(得分:12)

从版本1.5开始,Joomla拥有JDocument对象。使用JDocument::setMimeEncoding()设置内容类型。

$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/pdf');

在您的特殊情况下,查看JDocumentPDF可能是值得的。

答案 1 :(得分:1)

对于那些认为以上是一个非常古老的答案的人,我确认JDocument :: setMimeEncoding()仍然有效,即使在1.6版本上(还没有在1.7上试过)。

答案 2 :(得分:0)

我在joomla 2.5中遇到了同样的问题。在joomla管理面板中点击8小时后,我找到了解决方案。

  1. 登录您的joomla管理员面板,然后点击媒体管理器
  2. 点击右上角的选项按钮。这将打开一个包含各种选项的配置选项卡
  3. 在合法文件扩展名的框中,application / pdf或您需要的任何内容。值以逗号分隔。 注意,显然你必须根据我刚发现的论坛按字母顺序列出内容
  4. 点击保存按钮
  5. 您现在应该能够将pdfs加载到媒体管理器中。希望这对你有用。我只是设置上传.mov个扩展程序。

    问题是它只能使用一次。现在,每当我导航到硬盘上的电影.mov文件时,浏览链接都不起作用。但是如果我选择任何其他文件类型呢?