Hi all, I have a single HTML form which contains simple text controls as well as file upload controls. I had assumed that the CGI library would return me items of type String for the text boxes and items of type Tempfile for the file upload boxes.... However, it appears (after searching the archives) that StringIO is used instead of Tempfile on ruby 1.8 (in some cases and not others?), and that as soon as you specify an enctype of multipart you never? receive Strings but always receive either Tempfile or StringIO. This is what i really want from the CGI library: * CGI returns *everything* as a string except for file uploads - which are returned as Tempfiles Assuming that I cannot have that :-) can somebody in the know please tell me (or point me to some documentation)... 1. how can I tell whether or not the supplied parameter was a file upload or simple text that has been passed to me as a Tempfile/StringIO? At the moment I don't know whether to copy the file or not - because I don't know if it is a valid file or just another parameter. 2. do hidden controls work with multi-part forms? there is some discussion of them not working on the mailing list dating back to last November but I don't know if that has been fixed or not. My limited testing here indicates that hidden parameters are ignored on multipart forms? 3. why are all values expressed as Tempfile/StringIO when using a multipart form? Why not just have the file uploads as tempfiles? 4. how does the CGI library determine whether or not to switch between Tempfile/StringIO 5. do I have to specifically close the IO object (assuming that one is returned?) - or perhaps I do not have to close the StringIO but I do have to close the Tempfile? 6. are all of the form parameters in different tempfiles or are they all in one? Say i close the file after reading 1 argument ... does this mean that I cannot read any more? Thanks for any help you can give me - I am pretty stuck on this. If I get code working with StringIO objects it seems to break when I submit large files, and if I get code working with Tempfile it seems to break when I submit small files :-) Cheers, Martin -- Martin Hart Arnclan Limited 53 Union Street Dunstable, Beds LU6 1EX http://www.arnclanit.com