question about creating a link to download

Hi Folks,

I'm new to Rails and working on a project where after the user logs in
they can click on a link to download an exe file ( say for example the
file is at http://test.com/test.exe). I want to keep the link to the exe
file hidden. What are the best ways to implement this step.

I was thinking about using the redirect to url but I have been getting
an error saying that I cannot use two redirect's in a function.

Also, I was thinking of using NET:HTTP to use http request but I have no
idea how to implement this.

Thanks!!

Hi Folks,

I'm new to Rails and working on a project where after the user logs in
they can click on a link to download an exe file ( say for example the
file is athttp://test.com/test.exe). I want to keep the link to the exe
file hidden. What are the best ways to implement this step.

I was thinking about using the redirect to url but I have been getting
an error saying that I cannot use two redirect's in a function.

redirect won't hide the url

Also, I was thinking of using NET:HTTP to use http request but I have no
idea how to implement this.

You could but it would block the mongrel for the entire time it took
to download the file.

What's not clear from your example is whether this file is on your
server or somewhere else.

Fred

Thanks for the reply.

The exe file is on another server.

Thanks!

Frederick Cheung wrote:

Thanks for the reply.

The exe file is on another server.

OK. I was asking because if on the same server then things like X-Send-
File or X-Accel-Redirect work very nicely. You certainly could use net/
http to get the file and then send the response to the user although
for anything but the smallest of files you'll need to start sending
the data before you have grabbed all of it (because otherwise the user
will get bored or the browser will time you out) and I'm not sure
there's a nice way of doing that in rails.

Fred

Try using send_file function :slight_smile:
http://apidock.com/rails/ActionController/Streaming/send_file

Jay Dev wrote:

Hi Folks,

I'm new to Rails and working on a project where after the user logs in
they can click on a link to download an exe file ( say for example the
file is at http://test.com/test.exe). I want to keep the link to the exe
file hidden. What are the best ways to implement this step.

You can make an expirable link à-la Rapidshare, and/or use
X-Accel-Redirect provided by Nginx, we use the latter to stream VOD.