Rails,paperclip,从rake任务上传照片?

时间:2010-11-17 20:15:31

标签: ruby-on-rails paperclip

如何通过控制台或rake任务上传带回形针的文件?我有点不确定如何在没有表格的情况下工作。有没有人处理过这个问题?


更新

所以我发现了这个:

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

但我想这会让我的问题变得更简单一点,说我的照片实际上是在线(在不同的域名),我想用回形针将其转换并转换并上传到我的服务器。有可能以某种方式给File.open一个网址吗?

3 个答案:

答案 0 :(得分:6)

给这一点。

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

当我在我的终端尝试时,我刚刚做过:

require 'open-uri'
image = open("http://i.stack.imgur.com/qjKuQ.jpg")

导致:

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

答案 1 :(得分:1)

但是,它将文件保存为“open-uri12345sdf-1301fp”。 (没有扩展名)在数据库中。我们如何在photo_file_name字段中保存原始文件名。

答案 2 :(得分:1)

我认为这是一种黑客攻击,但我只是在迁移过程中使用ActionDispatch :: Http :: UploadedFile.new对象复制文件,然后就这样运行了。