我想知道最好的方法是什么。
我有一个启用了activestorage的rails api,将pdf文件发送到s3存储桶。我有另一个rails api,它是一个电子邮件微服务。
我想从我的主rails api向我的电子邮件微服务发送请求,请求中包含文件附件,然后将其附加到我的电子邮件中。
我在下面遇到的解决方案似乎可以做到这一点,但前提是邮件程序发生在同一api上:-
class Product < ApplicationRecord
has_one_attached :photo
end
class PhotoMailer < ApplicationMailer
default from: "default@example.com"
def new_photo_email
photo = params[:product].photo
attachments[photo.filename.to_s] = photo.download
mail(to: "one@example.com", subject: "Nueva photo")
end
end
class PhotoMailerPreview < ActionMailer::Preview
def new_photo_email
PhotoMailer.with(product: Product.first).new_photo_email
end
end
i、 它使用了activestorage的 download
方法。
当我将文件发送到另一个api时,这不起作用。实现这一目标的最佳方式是什么?我是否可以只发送文件url,然后使用 File.read(url)
在我的电子邮件服务中?或者有没有一种方法可以通过http请求发送文件,让我的电子邮件服务能够抓取?
暂无答案!
目前还没有任何答案,快来回答吧!