Forum: Ruby Rest-client posting multipart to rails 2

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8b6fa694bf556e382b8db38efe8351c4?d=identicon&s=25 e deleflie (Guest)
on 2008-11-28 10:19
(Received via mailing list)
Hi all,

I'm using rest-client (in a Shoooes app) to post a multi-part form to
my rails server. I've been struck down by a gotcha (which may not be a
gotcha for non-newbies).

What I want to do is post an image file within the form. Examples show
that the correct syntax is such:

              params = {'myObject[name]' => "some name",
                                  'myObject[details]' => "some extra
details and stuff here.",
                                  :myObject[image] =>
File.new('/baa/baa/screen-capture-1.png')
                                  }
              response = RestClient.post
"http://me:mine@www.example.com/myObject.xml", params


but :myObject[image] is not a valid symbol ... and that's how rails
creates the names of the fields in the forms ...

Any ideas?

Etienne
87349a7a95b3f2e83c20194ef122885c?d=identicon&s=25 Einar Magnús Boson (Guest)
on 2008-11-28 10:32
(Received via mailing list)
Hi,

On 28.11.2008, at 09:14 , e deleflie wrote:

>                                  'myObject[details]' => "some extra
>
> Any ideas?
>
> Etienne
>


Your two first parameters have strings as keys, not symbols.

einarmagnus
8b6fa694bf556e382b8db38efe8351c4?d=identicon&s=25 e deleflie (Guest)
on 2008-11-28 10:40
(Received via mailing list)
On Fri, Nov 28, 2008 at 8:26 PM, Einar Magnús Boson
<einarmagnus@tistron.se> wrote:
>> What I want to do is post an image file within the form. Examples show
>>
> Your two first parameters have strings as keys, not symbols.
yeah, but that seems to work fine ...

I worked out I can do   :"myObject[image]" =>
File.new('/baa/baa/screen-capture-1.png')  but that still doesn't ...
it creates the below message in Rails:

UploadColumn::UploadNotMultipartError (Do not know how to handle a
string with value '(File /baa/baa/screen-capture-1.png)' that was
uploaded. Check if the form's encoding has been set to
'multipart/form-data'.):

Etienne
D337e2cf7c6d03caac6988d83e0e7f66?d=identicon&s=25 Michael Guterl (mguterl)
on 2008-11-28 13:30
(Received via mailing list)
On Fri, Nov 28, 2008 at 4:34 AM, e deleflie <edeleflie@gmail.com> wrote:
>>> gotcha for non-newbies).
>>>             response = RestClient.post
>>
> string with value '(File /baa/baa/screen-capture-1.png)' that was
> uploaded. Check if the form's encoding has been set to
> 'multipart/form-data'.):
>
Perhaps you want to stick the contents of that file in the
"myObject[image]" param?  If so File.new is not going to do it.

Try File.read('/baa/baa/screen-capture-1.png')

HTH,
Michael Guterl
This topic is locked and can not be replied to.