Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

EXCELファイルのダウンロード

HTMLファイルから<A HREF="xxxxx.xls">というように EXCELファイルをダウンロードするようにしました。 しかし、ブラウザ・マシンによってはEXCELファイルを うまくローカルディスクへダウンロード出来ることもあれば、他のマシンだと ローカルディスクに保存せずに、現在開いているブラウザ上に そのままEXCELファイルが開かれたりもします。 私でも色々調査しましたが、どうしてこのような動きの差が出てくるかわかりませんでした。 皆様でこの動きの差についてご存知ないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

では、簡単に。 ただ保存するだけ、とか、外部のアプリケーションを起動するだとか、ブラウザで 表示するとかを決めて実行しているのはブラウザです。 どうやって決めているか、というと、MIME TYPE というのに従います。 サーバには、どのファイル末尾なら MIME TYPE はこうだ、という定義があります。 http のプロトコルを使って通信する、ということは、この MIME TYPE をつけて 送ることになります。 受取ったブラウザは、その MIME TYPE をみてどうするかを決めます。その どうするか、はブラウザの設定になります。 例えば、Netscape Navigator であれば、設定のアプリケーションというところ に MIME TYPE と、どう扱うか、の定義があります。 更に Windows の場合には、システムとして MIME TYPE を持っています。 Windows では、拡張子と実行するプログラムが対応づけられていますが、 その拡張子に対して MIME TYPE を対応させる定義をレジストリに持ちます。 Internet Explorer を使っているときには、ここの定義を使います。 なので、例えば xxxx.txt というファイルでも、application/excel なんて MIME TYPE で送る(普通は text/plain)ようすれば、ブラウザ側の定義次第で すが、Excel が立ち上って、そのテキストファイルを見る、なんて動作になります。 今回遭遇した現象は、同一のサーバを使っているのでしょうから、クライアント側 の OS 及び ブラウザの MIME TYPE 定義の差が、動きの差の原因です。

noname#149114
質問者

お礼

早速のアドバイスありがとうございました。 そのような仕組みになっていたわけですね。 この問題を解決するのには、サーバー上でMIME TYPEの 設定をクライアントマシンの設定にないような設定にすれば、 うまくダウンロードできるようになりますね。 細かいところまで解説していただき、誠にありがとうございました。 またなにかありましたら宜しくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A