From: Mark Watson Date: 2009-02-02T13:14:50+09:00 Subject: Re: Q: send_file with Ruby 1.9.1 only works for text files On Feb 1, 11:34 am, David Palm wrote: > On Mon, 2 Feb 2009 02:10:00 +0900, Mark  Watson wrote: > > When I use Ruby 1.8.6 my Rails app works fine. Under Ruby 1.9.1 in > > development mode Webrick is trying to "split" binary data and throws > > an error: > > > # > > Is webrick part of the standard distribution? (been years since I used it!) Does its tests run? > > Does Thin work for you? I've been running Ruby 1.9.1 for a while now on Thin and it works pretty well. I haven't sent any binary data yet though. > > > ["/Users/markw/bin/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.2.2/lib/ > > webrick_server.rb:136:in `split'", "/Users/markw/bin/ruby19/lib/ruby/ > > gems/1.9.1/gems/rails-2.2.2/lib/webrick_server.rb:136:in > > `extract_header_and_body'", "/Users/markw/bin/ruby19/lib/ruby/gems/ > > 1.9.1/gems/rails-2.2.2/lib/webrick_server.rb:109:in > > `handle_dispatch'", "/Users/markw/bin/ruby19/lib/ruby/gems/1.9.1/gems/ > > rails-2.2.2/lib/webrick_server.rb:74:in `service'", "/Users/markw/bin/ > > ruby19/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'", "/Users/ > > markw/bin/ruby19/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'", "/ > > Users/markw/bin/ruby19/lib/ruby/1.9.1/webrick/server.rb:183:in `block > > in start_thread'"] > > > As much as possible I am trying convert all my Ruby code and Rails > > apps to Ruby 1.9.x and this is one of the last problems that I am > > having problems working around. > > > I have tried several combinations of send_file calls like: > > > send_file(filename, :filename => asset.filename, :type => :jpeg) > > > and none work - unless I am sending a plain text file. > > > This is obviously a unicode problem. > > > Thanks, > > Mark > > Thanks for the reference David. I could not build thin on OS X using Ruby 1.9.1: rubymain.cpp: In function ‘VALUE t_invoke_popen(VALUE, VALUE)’: rubymain.cpp:466: error: ‘struct RArray’ has no member named ‘len’ Looks like the code is not updated for the unicode implementation in Ruby 1.9.1