JP Silvashy
JP Silvashy

Reputation: 48535

Rails, paperclip, uploading a photo from a rake task?

How can I upload a file with paperclip via the console or a in a rake task? I'm a little unsure how this works without a form. Has anyone dealt with this?


update

So I found this:

image = Image.new(:storage => File.open('/path/to/my/image.png', rb))

But I guess this makes my question a little simpler, say my photo was actually online (at varying domains) and I wanted to take it with paperclip and transform it and upload it to my server. Is it possible to somehow give File.open a url?

Upvotes: 4

Views: 2709

Answers (3)

user1222397
user1222397

Reputation: 11

This is kind of a hack I think but I'd just replicated the files with ActionDispatch::Http::UploadedFile.new object within my migration and ran it like that.

Upvotes: 1

prabu
prabu

Reputation: 6171

However, it saves the files as "open-uri12345sdf-1301fp." (without extension) in database. How we save original file name in photo_file_name field.

Upvotes: 1

Hugo
Hugo

Reputation: 2913

Give this a shot.

require 'open-uri'
image = Image.new(:storage => open("http://path.to.the/image.png"))

Worked when I tried it in my terminal I just did:

require 'open-uri'
image = open("https://i.sstatic.net/qjKuQ.jpg")

which resulted in:

=> #<File:/var/folders/Zo/ZoJYH-A6Eg8GQ3pV0fIyhU+++TU/-Tmp-/open-uri20101117-5813-1h64t5k>

Upvotes: 6

Related Questions