質問: フォームの内容をCSVファイルに蓄積保存しています。 閲覧者はFTP情報をもっていないので、このCSVに対して単純にリンクを張ったHTMLを作成し、そこから右クリックでダウンロードをしていただいてます。 ところが、ローカル環境によると思うのですが、人によって挙動が違うのです。 1.リンクを左クリックすると一つなぎのテキストとしてブラウザで表示されるが、右クリックで保存するとCSVで保存できる 2.リンクを左クリックするだけでCSVでダウンロードされエクセルで開く 3.1に近いが、右クリックで保存しようとすると、CSVではなくHTMファイルとして保存しようとする 1や2は、落とせばエクセルでみれるので現状はそのままでいいと思っています。 しかし、3に関しては、利用者が「拡張子」という物を理解していただけないので、「*.htm」を「*.csv」に変更したら見れると言っても納得しくもらえません。 いろいろ調べてみて、フォルダオプションとかに行きつきましたが、1や2の挙動の人と3の挙動の人に違いは見られませんでした。 とりあえず、保存ダイアログで「*.csv」の拡張子のままで保存したいのですが、何を確認して、何を修正すればいいのか行き詰っています。 どなたか、些細な事でもいいですので教えてください。 なお、3の状況になる人の環境は WindowsXP(SP3) Internet Explorer8 です。 オフィスは入っていますので、フォルダオプションでCSVを確認すると、エクセルに関連付けられていました。 よろしくおねがいします。
回答: 動作の1と2は、こちらでも再現することができるんですが、3だけは不明です。 また、私の環境ではCSVへのリンクを左クリックした時に「開く」か「保存する」かのダイアログを出すようにしています。 ただ3の人の環境だと、ダイアログを出してもhtmで保存されてしまうかもしれませんね。(「開く」にするとブラウザで表示かしら・・・) 一応、「開く」「保存する」のダイアログを表示させる方法。 フォルダオプションでの設定になりますが、CSV以外にXLSもチェックする必要があります。 CSVおよびXLSを選択して[詳細設定]クリック。 「ダウンロード後に開く確認をする」にチェックを入れて[OK]をクリック。 (すでにチェックが入っていてもOKクリックして下さい) これで、「開く」「保存する」のダイアログが出るようになると思います。 尚、同設定箇所で「同じウィンドウで開く」にチェックが入っていると、ブラウザ上で表示されるようになるので、ここのチェックは外します。 これでどういった動作をするのか確認されてみてはいかがでしょうか。 と、ここまでグダグダ書きましたがもしかしたらサーバー側の設定が問題かもしれません。 サーバー側でCSVに対するMIMEタイプの設定がどうなっているかによって動作が変わるようです。 この辺については私はよくわかりませんので、キーワードを元にぐぐって調べてみてください。 CSV MIMEタイプ .htaccess application/octet-stream などのキーワードでヒントが得られるのではないかと思います。