Content-Type标头不起作用,Firefox始终显示“文档”或“预览文档”作为文件类型

时间:2013-02-19 14:41:12

标签: php firefox http-headers download content-type

我正在使用以下代码下载文件:

$file_name = $_GET['file_name'];
$file_size = filesize( 'files/' . $file_name );
$file_type = mime_content_type( 'files/' . $file_name );

header( 'Content-Type: ' . $file_type );
header( 'Content-Length: ' . $file_size );
header( 'Content-Disposition: attachment; filename="' . $file_name . '"' );

readfile( 'files/' . $file_name );

它工作正常,我可以下载文件。然而,有些事情困扰着我。当我使用Firefox下载文件时,下载对话框总是说该文件是“文档”,或者有时是“预览文档”,而不是图像,PDF或文件实际上是什么。有什么想法吗?

编辑:我刚试过.svg文件(mime type image / svg + xml),对话框正确地说明了“可缩放矢量图形”。但后来我尝试使用.psd文件(mime type image / x-photoshop)并获得了“Preview.app Document”。奇怪的。有人能够复制这个问题吗?此时我认为它可能是Firefox问题,因此我添加了“Firefox”作为标记。

0 个答案:

没有答案