Sure, just make sure to enable X-Sendfile in Apache/Nginx, and then set it
yourself:

  def get
    @headers['X-Sendfile'] = "/full/path/to/file"
    @headers['Content-Type'] = "text/plain; charset=utf-8"
  end

Or if you want Rack to figure out which Content-Type to send:

  file = "/full/path/to/file"
  @headers['X-Sendfile'] = file
  @headers['Content-Type'] = Rack::Mime.mime_type(File.extname(file)) + ";
charset=utf-8"

If you ever need to send custom headers, just use the @headers hash.

// Magnus Holm


On Wed, Mar 3, 2010 at 16:43, David Susco <dsu...@gmail.com> wrote:

> Hey guys,
>
> A user would like to download a table dump as a CSV, what's the best
> way to do this?
>
> ActionController has send_data:
>
> http://api.rubyonrails.org/classes/ActionController/Streaming.html
>
> Is there something similar built into Camping?
>
> If not, is there a way to override the response headers of a
> controller to declare the response as something other than HTML (so
> the csv isn't displayed in the browser)?
>
> --
> Dave
> _______________________________________________
> Camping-list mailing list
> Camping-list@rubyforge.org
> http://rubyforge.org/mailman/listinfo/camping-list
>
_______________________________________________
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Reply via email to