2008年4月18日金曜日

ファイルをダウンロードさせる方法

ブラウザのファイルの保存のダイアログを開いてファイルを保存してもらいたい時

Content-Dispositionを使う

http://www.studyinghttp.net/header#Content-Disposition

非標準ヘッダですが、それはCookieに関しても同じ(元々NetScapeの独自拡張)で、Content-Dispositionについてもサポートしているブラウザは多く、デファクトスタンダードのようです。

他にはContent-Typeの指定によるやり方もあるようです

  • Content-Type:application/download (あまり良くない?)
  • Content-Type:application/x-download (x-をつけた方が良いらしい)
  • Content-Type:application/x-msdownload (IE用 .exeファイルなど)
  • Content-Type:application/x-up-download (UPブラウザ用)
  • Content-type; application/octet-stream

PHPならheader関数を使う