- ベストアンサー
ホームサーバーからファイルのアップロード
最近やっとのことでホームサーバーを立ち上げました。 質問ですが、サーバーからクライアントの要求で圧縮ファイルをアップする方法がわかりません。 オンラインソフトをダウンロードするときに良くある「ダウンロード」書かれたリンク?をクリックすると「開く」だの「保存」だの「保存先フォルダー」だのと聞いてきてダウンロードさせる、あの方法です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
単純にhtmlの中に<a href=... でファイルにリンクしただけならばNo.1の方が仰るようにクライアント側の設定次第になってしまうと思います。 しかし、たとえばPHPなどを使ったシステムにし、ダウンロードさせるHTTPヘッダを送信するようなつくりにすれば可能だった気がします。 Content-Disposition: inline; filename="ファイル名" Content-Length: サイズ Content-Type: application/octet-stream たしか、これらの3つのヘッダを使うはずです。
その他の回答 (3)
- chupark
- ベストアンサー率41% (90/218)
遅くなりました。 No.3の方が仰るように、単純にHTMLを書くだけでは難しいかと思います。 オンラインソフトをダウンロードさせるようなページはたいていCGIやPHP、Java Servletなどのような、一種のプログラムによってページ自体がシステムになっているようです。 私が下で紹介した方法も、HTTPヘッダを指定して送信するタイプのプログラムを組む方法になります。 単純にHTMLのみでということであれば、ダウンロードさせるファイルをzipやlzhなどに圧縮してからアップロードし、そのファイルへリンクを引いておけば、たいていの場合はダウンロードしてから使う形になるのではないでしょうか。
お礼
どうも皆さん有難うございました。 ちょっと私には難しいようです。 結局HTMLでFTPサーバーにリンクさせる方法をとる事にしました。しばらく回答を締め切らずに置きますのでまた良い方法がうかびましたお知らせください。
- estea
- ベストアンサー率44% (39/87)
HTML だけでは無理かと。 (サーバ側のMIME設定をいじるとできるんかもしれんが。全拡張子を application/octet-stream に関連付けるとか。) 一般的には、CGIプログラムでヘッダを書き換えるんだろうなぁ。 どうしてもHTMLでというなら、 アンカーを右クリックとかして「対象をファイルに保存」でも似たようなことは出来る場合があるが。
お礼
どうもありがとうございました。 私は古い人間なので(つまり年寄)、Cやbasicならある程度わかるのですが、ブラウザ関連の言語はちんぷんかんぷんです。奮起してこれから猛勉強しますので、またわからない事があったら宜しくおねがいします。
- nullpo-gatt
- ベストアンサー率0% (0/2)
サーバからクライアント側にダウンロードですよね? それはサーバの設定ではなくクライアント側の処理だと思います。 #フォルダオプションのファイルの種類の"ダウンロード時に確認"の。
お礼
早々の回答ありがとうございます。
補足
回答ありがとうございます。 当方HTMLに関しては度素人のため、もう少し詳しく説明していただけると助かります。勝手なお願い申し訳ありません。