htmlファイルをダウンロードするには?

[上に] [前に] [次に]
ぽこぺん [E-Mail] 2000/03/31(金) 12:21:30
はじめまして、ぽこぺんと言います。
質問です。
以下のようなリンクを張った時、
<A HREF="http://aaa.co.jp/aaa/sss/www.htm">ファイルダウンロード</A>
この部分だけをリンクで次のページに飛ぶのではなく、
ダウンロードするような使い分け、又は方法って存在するので
しょうか?
もし無い場合、htmファイルをダウンロードする何か良い手は
あるのでしょうか?
よろしくお願いします。

dddd 2000/03/31(金) 12:40:49
右クリックで保存。

:-) 2000/03/31(金) 13:12:49
<Files "www.htm">
  FoeceType "application/octet-stream; charset=EUC-JP"
</Files>

ぽこぺん [E-Mail] 2000/03/31(金) 15:02:56
[[解決]]
ありがとうございます。
右クリックで対応したいと思います。
他にも何かありそうですが、<Files>というタグも存在しない
みたいだし、実際に記述しても表示が変になるだけで
動作しないみたいなので、あきらめます。

H&A 2000/03/31(金) 15:11:07
> 他にも何かありそうですが、<Files>というタグも存在しない
> みたいだし、実際に記述しても表示が変になるだけで
> 動作しないみたいなので、あきらめます。

<Files> は、Apache のアクセスコントロール命令です。
ダウンロードさせたいファイルの存在するディレクトリに .htaccess というファイル名で、以下の内容を保存します。

<Files "www.htm">
  ForceType "application/octet-stream; charset=EUC-JP"
</Files>

このようにすると、このディレクトリ以下にある "www.htm" というファイルに対しては、MIME Type として application/octet-stream が、文字コードセットとして EUC-JP が強制的に指定されます。
ただし、.htaccess によるこのような指定をサーバが許可していない場合もありますし、別のトピックによれば Internet Explorer は MIME Type を無視して内容を判断するみたいなので、必ずしもお望みの効果が得られないことがあります。

初級者 2000/03/31(金) 15:55:15
もっと簡単なのは拡張子を変える事ですか。
<A HREF="http://aaa.co.jp/aaa/sss/www.xxx">ファイルダウンロード</A>
こうすれば右クリックすることなくダウンロードできます。
ただこの場合、ダウンロード時(又は後)に拡張子を元に戻してもらう必要があります。

show 2000/03/31(金) 17:32:53
HTMLファイルを圧縮して、それをダウンロードしてもらうって言うのはダメなんでしょうか・・・。
圧縮ツールも解凍ツールも別途用意する必要がありますが。
これならそのファイル名を<A>で指定するだけでダウンロードできます。

初級者 2000/03/31(金) 18:00:20
><A HREF="http://aaa.co.jp/aaa/sss/www.xxx">ファイルダウンロード</A>
ごめんなさい。これでも開いてしまうようです。(ブラウザが自動認識するのか?)
ちなみに右クリックで保存は、「Shift+(左)クリック」でも同様に行えます(NNのみ)。

H&A 2000/03/31(金) 18:13:39
> ><A HREF="http://aaa.co.jp/aaa/sss/www.xxx">ファイルダウンロード</A>
> ごめんなさい。これでも開いてしまうようです。(ブラウザが自動認識するのか?)

../199911/99110228.htm
を見ると、IE では MIME Type が text/plain であっても内容が HTML っぽかったら HTML として表示してしまうようです。
不明な拡張子に対する MIME Type は text/plain に設定されているサーバは多いと思います。

この拡張子 .xxx に対して「保存する」を選択 (NN) か特定のアプリケーションを関連付ける (IE) と保存ダイアログが出るのではないかと思います。
あるいは、先にも書きましたがサーバ側で MIME Type を指定するかですね。

Syn [E-Mail] 2000/03/31(金) 18:15:07
> ><A HREF="http://aaa.co.jp/aaa/sss/www.xxx">ファイルダウン
> ロード</A>
> ごめんなさい。これでも開いてしまうようです。

それは H&A さんがおっしゃっている
> Internet Explorer は MIME Type を無視して内容を判断するみ
> たいなので、必ずしもお望みの効果が得られないことがあります。

これのせいですね。
IE はタグらしきものが混じっているとかってに HTML として表示
してしまいます。

Syn [E-Mail] 2000/03/31(金) 18:15:32
って、かぶってるし(T▽T)

H&A 2000/03/31(金) 18:15:40
ごめんなさい。言葉足らずでした。

> この拡張子 .xxx に対して「保存する」を選択 (NN) か

Netscape Navigator の設定で ".xxx" の拡張子のファイルに対する動作を「ディスクに保存」に変更する…ということですね。

みんこ 2000/03/31(金) 18:19:51
右クリックで解決ならそれはそれでめでたいのですけど一応。
Macだとボタン押しっぱなしで同じくダイアログが出ます。
それで「リンクを別名で保存」できます。
ファイルまとめて落とすなら、圧縮ファイルの方がいいですね。

正しい脱線 2000/03/31(金) 18:20:13
>Synさん
>IE はタグらしきものが混じっているとかってに HTML として表示
>してしまいます。
これってOctedStreamでも無視されるんでしょうか?
MSとして公式に『ダウンロード用のMIME』は何になっているのか誰かしりませんか?

Syn [E-Mail] 2000/03/31(金) 18:59:21
>正しい脱線さん
当方で試した (AN HTTPD で) 限りでは、 application/octed-
stream でもダメでした。

H&A 2000/03/31(金) 19:08:13
> 当方で試した (AN HTTPD で) 限りでは、 application/octed-
stream でもダメでした。

application/x-my-download などの Private な MIME Type を指定してみるというのはどうでしょう。
Windows 2000 Server 標準の Internet Explorer 5.0 (5.00.2920.0000) ではダウンロードダイアログが表示されました。

初級者 2000/03/31(金) 19:12:41
H&Aさん Synさん ありがとうございました。勉強になりました。
なるほど、やはりブラウザ側で判断するんですね。
リンクとはもともと指定したものをブラウザで表示させるのであって、表示できないものはダウンロードしよう。
ということなんでしょうか…やはり圧縮ファイルにするしかない?

Syn [E-Mail] 2000/03/31(金) 19:20:51
> H&A さん
うみゅみゅ、当方の AN HTTPD で .html に application/x-my-
download を設定 (Windows の MIME タイプは「使わない」に設定) 、
Netscape では「未定義のファイル タイプ」とダイアログが表示さ
れる状態で、 IE5.01 (5.00.2920.0000) ではやっぱり HTML とし
て表示されてしまいました。
無論、キャッシュや履歴はクリアしています。

以下ログ:
GET /~syn/beatz/index.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost
Connection: Keep-Alive

>>> s=316: Fri Mar 31 19:15:41 2000 >>>
HTTP/1.1 200 Document follows
MIME-Version: 1.0
Server: AnWeb/1.27
Date: Fri, 31 Mar 2000 10:15:41 GMT
Content-Type: application/x-my-download
Accept-Ranges: bytes
Content-Length: 4991
ETag: "38e1ab98-137f"
Last-Modified: Wed, 29 Mar 2000 07:07:04 GMT
Connection: close

>>> s=316: Fri Mar 31 19:15:41 2000 >>>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
:
(以下略)

H&A 2000/03/31(金) 19:40:38
> うみゅみゅ、当方の AN HTTPD で .html に application/x-my-
download を設定 (Windows の MIME タイプは「使わない」に設定) 、
> Netscape では「未定義のファイル タイプ」とダイアログが表示さ
> れる状態で、 IE5.01 (5.00.2920.0000) ではやっぱり HTML とし
> て表示されてしまいました。

あれれ〜?
こちらは Apache/1.3.9 をサーバに使用しました。…っても、サーバによって表示の挙動が違うとは考えにくいですからねぇ…
いちおう、当方の Apache の返した内容も掲載します(IE のそりクエストは Syn さんとほぼ同じなので略します)。

HTTP/1.1 200 OK
Date: Sat, 01 Apr 2000 10:05:13 GMT
Server: Apache/1.3.9 (Unix)  (Red Hat/Linux)
Last-Modified: Sat, 01 Apr 2000 10:02:48 GMT
ETag: "17f3-271-38e5c948"
Accept-Ranges: bytes
Content-Length: 625
Connection: close
Content-Type: application/x-my-download

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
(以下略)

Syn [E-Mail] 2000/03/31(金) 19:48:51
うーん、個体差なんでしょうか…(^_^;
それともやっぱりサーバかな?
文字コードかな? (わたしのは Shift_JIS でした)

H&A 2000/03/31(金) 19:49:27
う〜ん、違いは MIME-Version のみのような気が…

> Date: Sat, 01 Apr 2000 10:05:13 GMT

関係ないですけど、うちのサーバ時刻が 1 日ずれてますね。

ween 2000/03/31(金) 19:50:20
エクスプローラの「表示‐オプション‐ファイルタイプ」で
.exeファイルのMIME見ると「application/x-msdownload」
ってなってるけど、これで行けませんかねぇ?

H&A 2000/03/31(金) 19:51:12
> 文字コードかな? (わたしのは Shift_JIS でした)

こちらは、<META> で ISO-2022-JP を指定していました。
といっても、Content-Type ヘッダには charsert をつけていないし、実際は ASCII だけだし、間違いだらけですが…

H&A 2000/03/31(金) 20:00:20
<META> タグを入れたり削ったり、MIME Type を application/x-msdownload にしてみたりしたのですが…
タイミングによって表示したりダイアログが出たりしてしまいます。

も〜ワケがわかりません…

H&A 2000/03/31(金) 20:07:11
とりあえず、確実な方法は show さんの

> HTMLファイルを圧縮して、それをダウンロードしてもらうって言うのはダメなんでしょうか・・・。

ですね。
多分 Internet Explorer 以外のブラウザは正しく MIME Type を見てくれると思うので、「Internet Explorer ではダウンロードでなく表示されてしまうかもしれません」という但し書き付きで MIME Type のみ変更というのもアリかとは思います。

ぽこぺん [E-Mail] 2000/04/01(土) 23:37:37
皆様方、ありがとうございます。
すごくためになりました。参考にさせていただきます。
今後もまたよろしくお願いします。

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