I have used
<%= file_field “file”, “picture”%> in my form.
In the controller side I have taken @filename =@params[“file”]
But I am getting “picture#StringIO:0x369dda8” in the @filename.
How can i get the filename of that file in a string instead of hash?
Regards,
Anil Wadghule
I have used
<%= file_field "file", "picture"%> in my form.
In the controller side I have taken @filename =@params["file"]
Just params, not @params.
params[:file][:picture] should contain what you're after.
But I am getting "picture#<StringIO:0x369dda8>" in the @filename.
How can i get the filename of that file in a string instead of hash?
picture.original_name should work on an uploaded file.
You may want to check out the file_column plugin if you have not already:
http://www.kanthak.net/opensource/file_column/
Anil:
In your model object, use self.picture.original_filename
I’m assuming your model object is: “file.rb”. It has an attribute called “picture” which you have created for the form. “picture” has a method called “original_filename” that returns a class of StringIO or FileIO. StringIO (or FileIO, if the upload is big), automagically gets a few variables set by the CGI class. The others are “content_type”, “length”, and “read”.
See the note after the CGI class documentation in this link:
http://wiki.rubyonrails.org/rails/pages/HowtoUploadFiles
Hope it helps,
-Anthony