Upload file with url parameter

I want to upload file using get method. for example, "http://www.mydomain.com/upload?file=c:\\test\.exe&quot; upload my local file to the remote server. I found one useful link about file uploading here(http:// www.tutorialspoint.com/ruby-on-rails/rails-file-uploading.htm). Even I've changed some code in order to fit my rails version, it worked well. But the problem is I have use <form> tag.

I don't know how [view] make UploadedFile and pass it to [controller] and I tried to find how create UploadedFile. But failed :frowning:

Anyway, how can I upload my local file using above style url?

help me plz, thx

I want to upload file using get method. for example, "http://www.mydomain.com/upload?file=c:\\test\.exe&quot; upload my local file to the remote server. I found one useful link about file uploading here(Ruby on Rails - File Uploading). Even I've changed some code in order to fit my rails version, it worked well. But the problem is I have use <form> tag.

I don't know how [view] make UploadedFile and pass it to [controller] and I tried to find how create UploadedFile. But failed :frowning:

Anyway, how can I upload my local file using above style url?

If you want to just pass the path of the file that won't work - the file needs to be part of the request body. In theory get requests can have a request body, but certainly in browser land this isn't common. it might just work if you set the form's method to get (don't forget to make the form multipart). Why is this important ?

Fred

I just want the client(kind a application running automatically) to upload file to the web server as it wants.

How do I do this?

I just want the client(kind a application running automatically) to upload file to the web server as it wants.

How do I do this?

you'll need to construct an appropriate post request (read up on multipart post requests) containing the file

Fred

This is exactly what I've been trying to do all day. Not as easy as you'd think. There are absolutely no examples of this available anywhere.

It's a wonder that people haven't been trying to do this for a while 'cause it has many different uses, like streaming data directly through the 80 port when all other ports are blocked.

B

Unless either someone develops a wonderful (i use the term *very* loosely) exploit or I misunderstand what you're trying to do here, there is no way to do what you're trying to do. Neither Javascript, Flash, nor Java (unless the user's insane and sets up their JVM to do this) can automatically read/serialize/change the value of a field to a local file. For very obvious security reasons, the only way to upload a file with a web browser is for the user to actively select the file they want, and then to send that in a POST request (GETs will not work as you cannot serialize the file data).

The only way to do anything like that would be to have the user install a client on their computer. For example, you can upload arbitrary files using adobe air. But otherwise, is verboten.

SH

Hi Bennet,

I just want the client(kind a application running automatically) to

uploadfileto the web server as it wants. How do I do this? you’ll need to construct an appropriate post request (read up on multipart post requests) containing the file

This is exactly what I’ve been trying to do all day. Not as easy as you’d think. There are absolutely no examples of this available anywhere.

The mechanize gem makes file uploads a no-brainer…

Check out their example script which automates file uploads to Flickr in 10 or so lines of Ruby code:

http://github.com/tenderlove/mechanize/blob/a5d73af1f7f4f8d6889b6da68899b9357a63b847/examples/flickr_upload.rb

Also check out the mechanize homepage for more examples and API documentation:

http://mechanize.rubyforge.org/mechanize/

Mechanize FTW! :wink:

Peter