Handling file upload onto local filesystem

Hi,

I have a multipart form upload field uploaded through <%=
file_field(“profile”, “profile”) %>

Once a submit happens, the action basically does something like:

profile = Profile.new(params[“picture”])

This invokes the models = to method:

def picture=(picture_field)
…do a bunch of assignments here
end

def validate
… do a bunch of validations before saving
end

do the actual file handling stuff here.

def after_save

end

My question is, is the after_save method the right place to put the File
manipulation stuff to copy and save the file on a directory on my local
webserver filesystem? Also, how do I get access to the actual file in
the
after_save so that I could do stuff like the following:

file.local_path (basically work with the file object so that I could
copy it
over from its local path onto my filesystem)

and one more question, how do I pass stuff into this function that comes
from the controller but is not necessarily an attribute of the Profile
model?

Thanks in advance.

you could try using the file_column plugin.
makes things very easy to handle and you can do image processing (with
rmagick installed):

http://www.kanthak.net/opensource/file_column/

that’s my easy answer…

dorian

Hi,

I decided against the file_column plugin due to some limitations in how
i’d
have to access a file in a view using url_for_file_column. Are there
any
other suggestions on my question, like on passing variables down to the
model from the controller?

Thanks.

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