私は 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');
「Content-Transfer-Encoding」または「Pragma」を削除するか、「Content-Type」と「Content-Disposition」を除くすべてを削除するかは問題ではありません。Chrome での結果は常に、"filename-, attachment" (" なし) です。Firefox では、これは正常に機能します。
たとえば、home.xml というファイルがある場合、Firefox は home.xml をダウンロードしますが、Chrome は home.xml-, という添付ファイルを提供します。