我使用 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 中的结果始终是:“文件名-,附件”(不带“)。
在 Firefox 中这工作得很好。
例如,如果我有一个名为 home.xml 的文件,Firefox 将下载 home.xml,而 Chrome 将为我提供 home.xml-附件。
我知道这是一个相当老的讨论,但如果有人来这里寻求帮助,我确定 chrome 似乎需要在文件名末尾加一个分号,然后它很高兴。如(VBScript)中所示:
Response.AddHeader "Content-Disposition", "attachment;filename=Something.xls;"
这为我解决了。
-戴夫
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)