• ベストアンサー

ファイルのダウンロードがうまくいきません

以前の質問にもあったと思いますが 『No.257537 質問:エクセルをダウンロードさせるには・・・?』など エクセルをUPしそのURLをリンクすると、画面(フレーム内)にエクセルが表示されてしまします。 表示ではなく、ファイルを保存したいのです。 また、wordも同様にファイルとして保存したい。 .htaccssは下記のようになっています。 directoryindex index.cgi index.html Options FollowSymlinks ExecCGI includes addtype appication/x-httpd-cgi .cgi addtype appication/x-httpd-cgi .pl addtype text/x-server-parsed-html .html addtype text/x-server-parsed-html .htm addtype text/x-server-parsed-html .shtml AddType application/vnd.ms-excel xls xlt (1) addtype application/octet-stream .xls (2) (1)と(2)の両方を入れ替えてやってみているのですが フレーム内に表示され、ダウンロードにならないのです。 どうか、ご教授ください。

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

  • ベストアンサー
回答No.1

手っ取り早く圧縮してしまうのでは ダメでしょうか?(^^; もしくはCGIを通してダウンロードさせる方法があります。Perlなら以下のような感じです。 #!perl $file = "xxx.xls"; print qq|Content-Disposition: attachment; filename="$file"\n|; print qq|Content-Type: application/octet-stream\n\n|; open(DAT, $file); while(<DAT>){ print; } close(DAT);

mangin
質問者

お礼

遅くなりすみません。パソコンの調子が悪く再インストしてました。 ターゲットを変えてやってみてダメなときはこの方法を試してみます(これならうまくいくと思います)。 ありがとうございました。

その他の回答 (1)

  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.2

当然クライアント側はIEかと思いますが、 IEはダウンロードファイルの拡張子で勝手に処理を決めていたように思います。 (サーバーからのcontent-typeは無視しているような?) 単なるリンク(<a href=xxx></a>)でしたら、右クリックで表示されるメニューに 「対象をファイルに保存」があるので(私のIE5の場合)、これを選択すると ファイル保存ダイアログが表示されます。 あと、windowsの拡張子毎の設定で、「ダウンロード後に開く確認をする」の 指定をoffにしておけば、保存するか、開くかを聞いてくるようになるはずです。 (エクスプローラー→フォルダオプション→ファイルタイプ→XLSやDOCを選択) この辺、XPはちょっと違っているかも フレーム内に表示されるのさえ無ければいい!のであれば、 リンクやフォームにtager=_blankを追加すればいいかも (別ウィンドウで表示させてやる)

mangin
質問者

お礼

遅くなりすみません。パソコンの調子が悪く再インストしてました。 ターゲットを変えてやってみます。 ありがとうございました。