NNでのファイルダウンロード

[上に] [前に] [次に]
jinro 1999/12/02(木) 19:29:18
ある集計データ(csv形式)を取得し、CGIでテーブルを作成し
HTML上に表を表示させ、同画面上に配置した保存ボタンを押す
と集計データのファイルをローカルにDLさせる(JavaScriptの
location.href=file名でやってます。これがだめ?)というペ
ージを作成しているのですが、行き詰まってます。IEだと問題
なく動作するのですがNNだとファイルの拡張子がexeやlzh(な
ど)以外の場合保存ダイアログが表示されずにそのファイルを
開いてしまいます。なんとかファイルを開かずに保存する方法
をご存知の方、いらっしゃいましたら助言お願いします。ぺこっ

P初心者 1999/12/03(金) 09:40:25
ネスケ4.5の場合、以下の手順です〜

1、メニュー編集(E)をクリック
2、設定(E)をクリック
3、カテゴリー Navigatorをクリック
4、アプリケーションをクリック
5、拡張子CSVのヘルパーアプリを検索
6、あれば、編集ボタンをクリック
7、 動作のラジオボタンのディスク保存を選択
8、CSVのヘルパーアプリなければ新規登録で7をしてください!

moci 1999/12/03(金) 12:48:26
WWWサーバでMIMEタイプを設定してはどうでしょう?
多分、デフォルトでtext/plainあたりになっているのでは…

jinro 1999/12/03(金) 16:34:25
過去ログ見てから発言したつもりだったのですが、さらによく見たら
似た発言がありましたね。しかし!それ見ても良くわかりませんでした
(涙)。

>P初心者さん
なるほど。そういう設定があったんですか。少しおりこうになりまし
た。どうもです!

>mociさん
MIMEタイプの設定というのは.htacseccでやるものなのでしょうか?
それともHTML上のタグででしょうか?
今cts形式のファイルに*.datとしてサーバ内で保存してるんですが、
これが落とせるようにMIME設定するには
htaccessにAddType text/x-dat .datとかでいいのでしょうか?
cgiの"Content-type:〜";って記述も有効なのでしょうか?
質問ばかりですいませんが、知っていたらよろしくお願いします。

moci 1999/12/03(金) 21:21:19
ダウンロードが目的なら、
application/octet-stream
でどうでしょう。
csvのダウンロードをもCGIを介して行うのであれば、
> cgiの"Content-type:〜";って記述も有効なのでしょうか?
の方じゃないとダメですね。
じゃなくって、csvファイルは直接URLで指定するなら、
おっしゃる通り.htaccessの方で設定してあげてください。

jinro 1999/12/04(土) 14:19:32
なるほど。そういうことなのですね。試しにcgiを介してやってみたの
ですがその場合保存時のデフォルトのファイル名が処理を行うcgiのフ
ァイル名になってしまうのでhtaccessでの方法をとることにしました。
(ファイル名を直せるのならcgiを介しても良いのですが…)
で、htaccessの中にAddType text/x-dat .datや、
AddType application/octet-steram .dat
って入れてみたんですけどやっぱりDLせずに開いてしまいます。
この一行のほかにも記述することがあるのでしょうか…。
今htaccessの中にはOptions +ExecCGI -Indexesと上記の一行の
2行のみです。終わりに改行も入れてます。
過去ログで例えばtestを落とす場合は
AddType application/octet-stream   .txt
でOKとなっていたのでtxtをdatにかえてやってみたんですけどだめでした。なんか必要な設定が抜けてるのでしょうか?

moci 1999/12/04(土) 23:49:31
cgiの場合はうまく行ったんでしょうか?
もしそうなら、そもそもWWWサーバが.htaccessの使えないものか、
ないしは使えないよう設定してあるということはないでしょうか。

moci 1999/12/05(日) 00:06:46
> 保存時のデフォルトのファイル名が処理を行うcgiのフ
> ァイル名になってしまうので

cgiでファイル名を指定してるとこがあったなと思い、見てみました。
HTTPヘッダに以下のような1行を出力しているようです。

Content-disposition: inline ; filename=xxxx.dat

xxxx.datがデフォルトのファイル名になっています。
実際どういうものなのかまでは調べてませんが…

moci 1999/12/05(日) 03:48:55
RFC2616の19.5.1に記述がありました。しかし、
inlineではなくattachmentとなっており、
RFC2183を見ても、自動表示を期待するinlineより、
添付を意図するattachmentの方が適切なのでしょう。

Content-Disposition: attachment; filename="fname.ext"

どういう動作になるかは不明ながら、まずはこちらを
試してみてください。

jinro 1999/12/06(月) 12:16:34
[[解決]]
いろいろ答えていただきありがとうございますm(_._)m
管理者によるとhtaccessは使えるようにはなっているそうです。
で、inlineとattachmentですが、デフォルトで拡張子がHTMLが付加
されてしまいますが、どちらも無事ファイル名を指定することに成功
しました!只処理は分けてるのに今度はなぜかIEがだめになってしまいました(笑)。でもNNでのDLの疑問は解決したので解決とさせていただきます。
ところで、ついでといっては何ですが「RFC2616の19.5.1」ってなんですか?通信の規格かなんかって聞いたことはあるような…?

hiro-kim 1999/12/06(月) 15:16:30
>「RFC2616の19.5.1」ってなんですか?

ASCII Glossary Help
http://www.ascii.co.jp/ghelp/

jinro 1999/12/06(月) 18:53:44
hiro-kimさんどうもです!
早速見てきます。

[上に] [前に] [次に]