我使用Symfony2框架,并使用以下代码导出Xml文件:
$response->setStatusCode(200);
$response->headers->set('Content-Type', 'application/xml');
$response->headers->set('Content-Description', 'Submissions Export');
$response->headers->set('Content-Disposition', 'attachment; filename="' . $filename .'"');
$response->headers->set('Content-Transfer-Encoding', 'binary');
$response->headers->set('Pragma', 'no-cache');
$response->headers->set('Expires', '0');
无论我是否删除"Content-Transfer-Encoding"或"Pragma",除了"Content-Type"和"Content-Disposition"之外的所有内容都不重要。在Chrome中的结果始终为:"filename-, attachment"(不带"-")。
而在Firefox中可以正常工作。
例如,如果我的文件名为home.xml,则Firefox将下载home.xml,而Chrome将给我home.xml-, attachment。