- 締切済み
CSVファイルの内容がブラウザ表示されてしまうのを回避したい
CSVファイルのダウンロードを行いたいのですが、 ファイルダウンロードのダイアログが表示されず、 CSVファイルのデータが、ブラウザ上に直接、表示されてしまいます。 その際、ブラウザ上にはEXCELが起動されるわけではありません。 ブラウザ上にファイルの内容が直接表示されてしまう現象を 回避する方法を教えてください。 また、改善策がございましたら、ご教授お願いします。 拡張子での差異は無く、TEXT(.txt)ファイルでも同様の現象が再現されます。 上記の現象が発生する端末のWindows、IEのバージョンは、下記のとおりとなります。 ・WindowsXP Professional Version 5.1 (Build 2600.xpsp_sp2_gdr.090804-1412 : Service Pack 2) ・Internet Explorer (Version: 6.0.2900.2180.xpsp_sp2_gdr.090804-1412) ご助言、宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
お礼
回答、ありがとうございます。 「インターネット一時ファイル」のファイルの削除、Cookieの削除、 「履歴」の履歴のクリア を実施してもらったのですが、 現象は改善されなかったようです。
補足
解決できましたので、ご報告させていただきます。 Perlにて作成されていたプログラムでしたが、 HTTPヘッダー情報が、正しく認識されていないために 起きる現象のようです。 ヒアドキュメントによる記述から、 1行ずつ明示的に記述するように変更したところ 今までの現象は、解消されました。 ■プログラム 修正前 print <<OUT; Content-Type: application/vnd.ms-excel; charset=Shift_JIS; Content-Disposition: attachment; filename="ファイル名.csv"; OUT ■プログラム 修正後 print "Content-Type: text/csv; charset=Shift_JIS\n"; print "Content-Disposition: attachment;filename="ファイル名.csv\n"; print "\n"; ■プログラム 修正前のHTTPヘッダーの表示 HTTP/1.1 200 OK Date: Server: Apache/2.2.0 (Unix) Content-Type: application/vnd.ms-excel; charset=Shift_JIS; Content-Disposition: attachment; filename="ファイル名.csv"; Keep-Alive: timeout=5, max=94 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain 認識が上手くいかない為か、「Content-Type」が2度出現し、 後勝ちのようです。 ■プログラム 修正後のHTTPヘッダーの表示 HTTP/1.1 200 OK Date: Server: Apache/2.2.0 (Unix) Content-Disposition: attachment;filename="ファイル名.csv" Keep-Alive: timeout=5, max=98 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/csv; charset=Shift_JIS 問題が解決致しましたので、クローズとさせて頂きます。 回答をしてくださった方、ありがとうございました。