tags:

views:

134

answers:

2

In Sinatra, if you have a "GET /images/photo1.jpg" request... you can save a lot of time by making a "public" directory. Any route not found is assumed to be inside your "public" directory.

However this seems to work just for GET requests. Is there a way to do something similar for POST requests?

Either:

  • Turning on some static method?
  • Maybe forging an inner request?
  • Duplicating functionality?

Any ideas? Is this even a bug?

PS: I know it's not RESTful to ask for files in a POST request, unfortunately Facebook works that way.

+1  A: 

That sounds like something you should attack with rack middleware.

Mike
Unfortunately I don't know enough Rack to do it. I cannot vendor either.What I did to fix my situation (not to answer this...) was switching to iframe. That way, my files are called by a GET.
eipipuz
A: 

The send_file helper is what you want.

send_file "/your/file.txt", {:filename=>"foobar.dat"}
Yoann Le Touche