質問

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');

「コンテンツ移動エンコード」または「プラグマ」を採取するか、「コンテンツタイプ」と「コンテンツ拡散」を除いてすべてを奪うかは関係ありません。 Chromeの結果は常に「Filename-、Attachment」(「withe ")です。Firefoxでは、これは正常に機能します。

たとえば、home.xml firefoxというファイルがHome.xmlをダウンロードしますが、Chromeはhome.xml-、添付ファイルを提供します。

役に立ちましたか?

解決

私はこれがかなり古い議論であることを知っていますが、誰かがこれについて助けを求めてここに来たら、私はクロムがファイル名の最後にセミコロンを望んでいるように見えると判断しました、そしてそれは幸せです。 (vbscript)のように:

Response.AddHeader "Content-Disposition", "attachment;filename=Something.xls;"

それは私のためにそれを修正しました。 - デイブ

他のヒント

Zendで同じ問題がありました。なぜなら、この投稿にAnwserを追加したいと思っていた多くの作業用品を見つけたからです。解決するのにしばらく時間がかかったので、より多くのユーザーと開発者が私がそれをどのように解決したかを知りたいと思っていたと思っていました。 Fopenコールの直前にこれを追加します。

header('Content-Disposition: attachment; filename='.time().'.csv');

私のために問題を解決しました。コンテキストを使用する前に、バギーだったものをスイッチさせましたが、今では魅力として機能します。以前のコンテンツ処分ヘッダーを削除することを忘れないでください。したがって、二重ヘッダーエラーが発生する可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top