file uploads via web service

I need to write a web service that accepts file uploads (even large ones). My WS is REST based, so I have a create method that accepts only POST. My problem is passing the file to the method, so if someone already solved this problem please let me know. For example, do I need to use Base64 encoding, and decode inside ? My method is like this:

  def create     radio = Radio.create!( params[ :radio ] )     ad = params[ :ad ].merge( :user => current_user, :resource => radio ) )!     respond_to do |format|       format.html       format.xml { render :xml => ad.to_xml, :status => :created }     end   rescue ActiveRecord::RecordInvalid     respond_to do |format|       format.html { render :action => :new }       format.xml { render :xml => "<errors> <error> #{e.message} </

</errors>", :status => :unprocessable_entity }

    end   end

My concern is about what gets saved inside the Radio object, I don't think I can pass a raw binary object (AFAIK). Also, about rspeccing the whole thing, I think I need to write controller tests that check that the file I begin with is exactly the same I have after using the WS, but isn't it something I shouldn't do in RSpec ? I mean, using real data. In this case I can have the controller behaving exactly as I think it should by calling the right methods in the right way, but having a corrupted file in the fs .... I can't test data in the model either, because corruption will happen exactly inside the controller. I'm new to this stuff, so I'm pretty clueless. Every help is very appreciated.

TIA,   ngw