Ruby on rails 4 Rails 4 Action Mailer-附加非本地内联图像(带有URL)

Ruby on rails 4 Rails 4 Action Mailer-附加非本地内联图像(带有URL),ruby-on-rails-4,paperclip,actionmailer,Ruby On Rails 4,Paperclip,Actionmailer,我知道,为了使用Action Mailer附加内联映像,在控制器操作中包括以下行: attachments.inline['image.jpg'] = File.read('path/to/image.jpg') 对于本地存储的图像,我已经做得很好了,但是我现在尝试附加一个图像,它是一个回形针附件,使用AmazonS3存储。如何附加与站点不存储在同一域中的内联图像?我试过: attachments.inline['image.jpg'] = @resource.image.url(:full)

我知道,为了使用Action Mailer附加内联映像,在控制器操作中包括以下行:

attachments.inline['image.jpg'] = File.read('path/to/image.jpg')
对于本地存储的图像,我已经做得很好了,但是我现在尝试附加一个图像,它是一个回形针附件,使用AmazonS3存储。如何附加与站点不存储在同一域中的内联图像?我试过:

attachments.inline['image.jpg'] = @resource.image.url(:full)
我知道“@resource.image.url(:full)”确实成功地指向了我试图附加的图像,但它在电子邮件中显示为一个损坏的图像。如果我尝试:

attachments.inline['image.jpg'] = File.read(@resource.image.url(:full))

然后它就完全失败了。有人知道怎么做吗?

您正在调用File。当URL需要本地文件路径时,读取URL。您是否尝试过:

attachments.inline['image.jpg'] = open("https://s3-us-(region).amazonaws.com/(bucketname)/#{@image.current_path}").read
例如:

attachments.inline['image.jpg'] = open("https://s3-us-west-2.amazonaws.com/mycucket/#{@image.current_path}").read
它适用于载波作为图像上传器,也可以用于回形针