WWW::Mechanize and file uploading

Hello all, I am fairly new to Ruby and I am loving every minute of it.
been doing a lot of reading on Ruby and I really like what I’ve seen
far. I am in the process of converting some Perl WWW::Mechanize code to
Ruby’s WWW::Mechanize. Everything was going smooth until the portion
I have to upload a file to the website.

Accessing page.forms[0].file_uploads[0] returns the
#<WWW::FileUpload:0x21614ec @file_data=nil, @file_name=“Browse”,
@name=“txtUploadFile”> object. However, I cannot determine how to set
path to the file that I wish to upload (the value of the textbox).

I’ve tried setting @file_data and @file_name to
‘/Users/michaelguterl/test.txt’ through the appropriate accessor method.
But each time I try and submit the form the website throws a nasty ASP
error. I know it is possible to do what I am trying to accomplish using
this approach. I’m just a little lost on the Ruby implementation of
WWW::Mechanize and trying to find anything on google is nearly
with all the Perl stuff out there.

Any help is appreciated.

Michael G.

In an attempt to provide some more useful information, here’s the output

I, [2006-03-29T21:56:02.225949 #5776] INFO – : POST:

D, [2006-03-29T21:56:02.311599 #5776] DEBUG – : query:
“txtZipPassword”=>"", “selDelimiter”=>“Delimiter…”, “txtRecLen”=>""}
D, [2006-03-29T21:56:02.312981 #5776] DEBUG – : request-header: accept
D, [2006-03-29T21:56:02.314092 #5776] DEBUG – : request-header:
content-type => application/x-www-form-urlencoded

Here’s the webserver’s exact response.

=> #<WWW::Page:0x20c6b04 @response=#<Net::HTTPOK 200 OK readbody=true>,
@cookies=[], @uri=#<URI::HTTP:0x106388e URL:
@code=“200”, @body=“WebServer ProcessRequest error
0243~Cannot use IStream on Request~Cannot use IStream on Request object
after using Request.Form collection or Request.BinaryRead. (
SoftArtisans.FileUpEe.1)”, @watch_for_set=nil>

I don’t know much about what’s going on behind the scenes here, but the
thing apparent to me is the lack of anything related to the FileUpload
the query hash. Again, let me reiterate, I’m not sure what is going on
behind the scenes, so that could be expected.

I’m going to keep hacking away as soon as I get home tonight, so I’ll
an update if I get anywhere.

Michael G.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs