我正在开发一个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小时后,我找到了解决方案。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top