Chrome为下载的文件添加了" - ,附件"

Mic*_*cha 7 php google-chrome content-disposition force-download symfony

我使用Symfony2 Framework并使用以下代码导出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');
Run Code Online (Sandbox Code Playgroud)

无论我是否采用"Content-Transfer-Encoding"或"Pragma"或其他所有内容,除了"Content-Type"和"Content-Disposition"之外.Chrome中的结果总是:"filename-,attachment"(没有").在Firefox中,这很好用.

例如,如果我有一个名为home.xml的文件,Firefox将下载home.xml,而Chrome会给我home.xml-,附件.

小智 3

我知道这是一个相当老的讨论,但如果有人来这里寻求帮助,我确定 chrome 似乎需要在文件名末尾加一个分号,然后它很高兴。如(VBScript)中所示:

Response.AddHeader "Content-Disposition", "attachment;filename=Something.xls;"
Run Code Online (Sandbox Code Playgroud)

这为我解决了。-戴夫