I''m not sure what you mean fully, but I think you mean save an item
from the
FS or URL...not uploaded via a form
here is an example from when I used a FileColumn to upload an image to my
database using a URL (it is 2 years old and very ugly code)
essentially in your case just treat your string as I do the URL
*in environment.rb have:*
require ''ftools''
require ''fileutils''
*and in your controller something like*
raise if not orig =~
/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix
       logger.error "???????????? VALUE >> #{orig}"
       response = false
          #if good url format, get the file
          tn = open(orig)
          filename = orig.split("/")
          tp = tn.path
          nf = File.new(tp)
          nf_path = File.split(nf.path)
          f = "#{nf_path[0]}" << "/" <<
"#{filename.last}"
          #dreamhost is case sensitive, this is for URL''s only
          f = f.downcase
          logger.error "FFFFFFFFFFF  #{f}"
          FileUtils.touch f
          #sleep 2
          ff = File.new("#{f}")
          FileUtils.copy nf.path, ff.path
          @tile.img_name = File.new(ff.path) #gold
       rescue
          if response == false
            logger.error "???????????? BAD URL >> #{orig}"
          end
       end
     else
      #if orig is empty
      logger.error "ZZZZZZZZZZZZZZZZZZZ NO URL >> #{orig}"
     end
    #if both img fields are empty: upload a default img (for now)
    if @tile.img_name.nil?
      #@tile.img_name = File.new(RAILS_ROOT +
"/public/images/rails.png")
#gold default if they do not upload a file
      logger.error "???????????? no FILE"
      if @tile.img_path.empty? or response == false
        @tile.img_name = File.new(RAILS_ROOT +
"/public/images/default.jpg")
#gold default if they do not upload a file
        logger.error "???????????? no URL"
      end
    else
       #params[:tile][:img_name].path.downcase
    end
 if @tile.save
        #email admin about new tile
        MailMe::deliver_new_tile(@session[:user], @tile.id);
        @ts_e.save
        if session[:user].login == "anonymous"
          redirect_to :controller => ''/user/logout''
        else
          redirect_to :controller => ''/user/account/''
        end
      else
        render :action => ''index''  #should go back to
upload_tile
      end
checkout working example at www.blogsaic.com/tile
no login required
On Sat, Apr 19, 2008 at 12:26 AM, phil <plr-Mmb7MZpHnFY@public.gmane.org>
wrote:
>
> Hey,
>
> im creating a new bookmark with a form and i''m uploading an image
with
> File Column. This works well!
>
>
> But another function is to copy this bookmark. That means it will be
> created a new Object, with an new Id. All the other attributes should
> be copied from the original. That works, but not with the "image"
> attribute. Thats where the fileColumn Image is placed. Im getting the
> error:
>
> ''Do not know how to handle a string with value
''/path/Bild_4.jpg''
>
> I think fileColumn expects an File, and not an string url. But i
don''t
> know to solve this Problem :(
>
> Here is my Code:
>
>
> @bookmark = Bookmark.new(:title => oldBookmark.title,
>                             :url => oldBookmark.url,
>                             :description =>  oldBookmark.description,
>                             :confirmed => 0,
>                             :user =>User.find(session[:user]),
>                             :image => oldBookmark.image )
>
>  @bookmark.save
>
>
>
> Maybe someone has an idea? Thanks a lot!
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---