• ベストアンサー

ホームサーバーからファイルのアップロード

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

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

  • ベストアンサー
  • chupark
  • ベストアンサー率41% (90/218)
回答No.2

単純にhtmlの中に<a href=... でファイルにリンクしただけならばNo.1の方が仰るようにクライアント側の設定次第になってしまうと思います。 しかし、たとえばPHPなどを使ったシステムにし、ダウンロードさせるHTTPヘッダを送信するようなつくりにすれば可能だった気がします。 Content-Disposition: inline; filename="ファイル名" Content-Length: サイズ Content-Type: application/octet-stream たしか、これらの3つのヘッダを使うはずです。

kiichi_go
質問者

補足

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

その他の回答 (3)

  • chupark
  • ベストアンサー率41% (90/218)
回答No.4

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

kiichi_go
質問者

お礼

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

  • estea
  • ベストアンサー率44% (39/87)
回答No.3

HTML だけでは無理かと。 (サーバ側のMIME設定をいじるとできるんかもしれんが。全拡張子を application/octet-stream に関連付けるとか。) 一般的には、CGIプログラムでヘッダを書き換えるんだろうなぁ。 どうしてもHTMLでというなら、 アンカーを右クリックとかして「対象をファイルに保存」でも似たようなことは出来る場合があるが。

kiichi_go
質問者

お礼

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

回答No.1

サーバからクライアント側にダウンロードですよね? それはサーバの設定ではなくクライアント側の処理だと思います。 #フォルダオプションのファイルの種類の"ダウンロード時に確認"の。

kiichi_go
質問者

お礼

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