ブラウザアーカイブ: とあるプログラマーの平凡な日記

2008年4月 9日

CSVファイルが突然ダウンロードできなくなった

自分へのメモシリーズ
--------------------------------------------------

【現象】
 ASP にて、CSVファイルを作成しダウンロードする機能がある。
 ダウンロードの方式は、ボタンをクリックすると、ダウンロードの確認画面(開くか保存するかのやつ)が表示されるもの。

 それが本日、ボタンをクリックすると
 CSVファイルのダウンロード確認画面が表示されずに、
 そのままデータがブラウザに表示されてしまう。


【原因】
 つい先日、CSVファイルの出力データの1行目に、リンクタグを含めた。
 含めた理由は長いので、割愛。
 それのせいであるようだ。

 
【調査結果】
 ・この現象は IE のみ、発生する。
  Firefox では確認ダイアログが表示された。

 ・クライアントの「ファイルの種類」で、CSVファイルは
  ダウンロード時に確認メッセージを出す設定になっている。

 ・2行目なら、リンクタグがあっても問題がない。
  →1行目にリンクタグがあるのがNGらしい。

 ・ボタンをクリックではなく、リンク形式にして、右クリック→「対象をファイルに保存」でダウンロード可


どうやら IE はファイルの拡張子だけでなくデータの内容をみて判断するようで、
タグが含まれているから開く、という解釈をしてしまう模様。
ボタン形式ではなく、リンクを貼ってダウンロードする形で対処した。