我在网站上有一个下载vCard(.vcf)链接。它在本地工作但不在线。只需在浏览器中打开文件而无需下载我宁愿不必拉链。
环顾四周,发现我需要把它放在:
AddType text/x-vcard .vcf
在.htaccess文件中。但它仍然无法正常工作。我错过了什么吗?
该网站由godaddy托管。我在某处找到的一个旧帖子中有一个人使其工作但除了.htaccess位之外没有其他信息。
答案 0 :(得分:5)
作为第一步,请教Godaddy他们是否支持AddType
指令,如果是,支持如何。这个解决方案绝对是可取的。
或者,您可以使用发送正确标头的原始PHP脚本来解决它。
contact.php(未经测试):
<?php
# Send correct headers
header("Content-type: text/x-vcard");
// Alternatively: application/octet-stream
// Depending on the desired browser behaviour
// Be sure to test thoroughly cross-browser
header("Content-Disposition: attachment; filename=\"contact.vcf\";");
# Output file contents
echo file_get_contents("contact.vcf");
?>
这将使用正确的标头为VCF文件提供服务。
答案 1 :(得分:3)
原来我正在做的事情是正确的,只是花了一段时间才开始工作。然后,当它仍然无法在Firefox中工作时,必须清除脱机内存并开始工作。
答案 2 :(得分:2)
基于MIME类型(在您的帖子文本/ x-vcard中),浏览器决定天气以在浏览器中打开文件或开始下载。
一种简单的方法是告诉服务器提供以.vcf结尾的文件,并使用更好的MIME类型。在这里,您应该选择一种类型,您可以确定浏览器将始终下载它:
尝试:AddType application/octet-stream vcf