2017-08-30 143 views
0

我的客户端使用Joomla 3.7.2,他们使用YOOTheme的Zoo组件。他们已经创建了一个应用程序,我相信它被称为行话,他们已经添加了一个属性(元素),您可以在其中下载文件。Joomla Zoo下载元素vcard(.vcf)的内容类型或mime类型错误

该应用程序是一个文章类型的应用程序,他们已经使用了默认的下载元素。我添加了上传某些文件的权限,并且我上传了一个VCF文件(一个vCard文件)。

当我下载该文件时发生该问题。 Joomla似乎添加了Content-Type:'text/x-vcalendar'。这应该是'text/x-vcard'。我不知道在哪里改变这一点。

我已经将这个mime-type添加到我的.htaccess中,所以当我直接链接到文件时,apache确实发送了正确的内容类型标题。因此,我知道问题出在Joomla或PHP函数返回错误的MIME类型。

我在哪里更改这些文件的MIME类型?

回答

0

我终于找到它了。文件中有一个函数:/administrator/components/com_zoo/framework/helpers/filesystem.php

在这个文件中有一个名为getMimeMapping的函数。在它与每个扩展使用的所有文件扩展名和MIME类型的数组:

$mimes['vcf'][] = 'text/x-vcalendar'; 
$mimes['vcs'][] = 'text/x-vcalendar'; 
$mimes['vct'][] = 'text/x-vcard'; 

因此很明显,如果我使用扩展VCT,它将输出正确的内容类型。