From: FUKUOKA Tomoyuki Date: 2003-03-05T21:42:56+09:00 Subject: [ruby-list:37231] Re: CGIからファイルをダウンロード 福岡と申します。 FUJIOKA Takeyuki san wrote: | 藤岡と申します。 | | WEBで特定のユーザ(認証済みのユーザ)にだけ、 | ファイルのダウンロードを許可したいと思ったので、 | CGIからファイルをダウンロードできないかと思ったのですが、 | そのようなことをしている人はいますでしょうか? | どっかに事例でもあればいいのですが。 少し前に、CGI でファイルをダウンロードさせる機能を 持ったものを作っていました。 Perl などでやるのと基本的には同じだと思いますが、 以下のような感じでどうでしょうか。 #!/usr/bin/ruby require 'cgi' def respond(filename, mime_type, file) basename = File.basename(filename) param = { 'status' => 'OK', 'type' => mime_type, 'length' => file.stat.size, 'Content-Disposition' => "attachment; filename=\"#{basename}\"" } cgi = CGI.new print cgi.header(param) print file.read end filename = '/home/fukuoka/hoge.tar.gz' File.open(filename) do |file| respond(filename, 'application/octet-stream', file) end -- 福岡ともゆき http://www.daifukuya.com/