プロが教える店舗&オフィスのセキュリティ対策術

最近やっとのことでホームサーバーを立ち上げました。
質問ですが、サーバーからクライアントの要求で圧縮ファイルをアップする方法がわかりません。
オンラインソフトをダウンロードするときに良くある「ダウンロード」書かれたリンク?をクリックすると「開く」だの「保存」だの「保存先フォルダー」だのと聞いてきてダウンロードさせる、あの方法です。

A 回答 (4件)

単純にhtmlの中に<a href=... でファイルにリンクしただけならばNo.1の方が仰るようにクライアント側の設定次第になってしまうと思います。



しかし、たとえばPHPなどを使ったシステムにし、ダウンロードさせるHTTPヘッダを送信するようなつくりにすれば可能だった気がします。

Content-Disposition: inline; filename="ファイル名"
Content-Length: サイズ
Content-Type: application/octet-stream

たしか、これらの3つのヘッダを使うはずです。

この回答への補足

回答ありがとうございます。
当方HTMLに関しては度素人のため、もう少し詳しく説明していただけると助かります。勝手なお願い申し訳ありません。

補足日時:2004/04/24 13:14
    • good
    • 0

 遅くなりました。


 
 No.3の方が仰るように、単純にHTMLを書くだけでは難しいかと思います。
 
 オンラインソフトをダウンロードさせるようなページはたいていCGIやPHP、Java Servletなどのような、一種のプログラムによってページ自体がシステムになっているようです。 
 
 私が下で紹介した方法も、HTTPヘッダを指定して送信するタイプのプログラムを組む方法になります。 
 
 単純にHTMLのみでということであれば、ダウンロードさせるファイルをzipやlzhなどに圧縮してからアップロードし、そのファイルへリンクを引いておけば、たいていの場合はダウンロードしてから使う形になるのではないでしょうか。
    • good
    • 0
この回答へのお礼

どうも皆さん有難うございました。
ちょっと私には難しいようです。
結局HTMLでFTPサーバーにリンクさせる方法をとる事にしました。しばらく回答を締め切らずに置きますのでまた良い方法がうかびましたお知らせください。

お礼日時:2004/04/26 21:06

HTML だけでは無理かと。


(サーバ側のMIME設定をいじるとできるんかもしれんが。全拡張子を application/octet-stream に関連付けるとか。)

一般的には、CGIプログラムでヘッダを書き換えるんだろうなぁ。

どうしてもHTMLでというなら、
アンカーを右クリックとかして「対象をファイルに保存」でも似たようなことは出来る場合があるが。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
私は古い人間なので(つまり年寄)、Cやbasicならある程度わかるのですが、ブラウザ関連の言語はちんぷんかんぷんです。奮起してこれから猛勉強しますので、またわからない事があったら宜しくおねがいします。

お礼日時:2004/04/26 21:18

サーバからクライアント側にダウンロードですよね?



それはサーバの設定ではなくクライアント側の処理だと思います。
#フォルダオプションのファイルの種類の"ダウンロード時に確認"の。
    • good
    • 0
この回答へのお礼

早々の回答ありがとうございます。

お礼日時:2004/04/24 13:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!