通过API使用paperclip保存文件

我正在使用paperclip管理上传,通过Fog支持S3。 它运作良好。

我正在尝试从电子邮件中获取附件并通过回形针(使用相同的模型等)保存它们。 电子邮件由外部服务解析并发布到我的应用程序,包括附件。 我收到文件本身很好,但我无法弄清楚如何使用paperclip保存它。 该post给了我一个ActionDispatch::Http::UploadedFile类型的对象。

我看了下面的内容,但这涉及到创建一个新的File对象。 我不确定这是我想要的……我该怎么做?

使用Paperclip保存文件而不上传

如果您已经拥有UploadedFile ,则可以设置Paperclip为您提供的虚拟属性。

所以,如果你有一个params[:file]和一个带有has_attached_file :file的模型,你应该可以只做@obj.file = params[:file]; @obj.save @obj.file = params[:file]; @obj.save