您提到了如何将文件存储在数据库中。如何使用 action mailer 将这些文件附加到邮件中?我搜索了许多站点,但找不到附加数据库文件的方法。到处都提供了附加存储在文件系统中的文件的帮助。
dharin
问问题
1042 次
1 回答
0
这与发送存储在磁盘上的附件没有太大区别。
假设您有一个Binary
与文件系统中的文件相对应的模型。如果它响应content_type
and data
,那么这样的事情应该可以工作:
class AttachmentMailer < ActionMailer::Base
def attachment(recipient, binary)
recipients recipient
subject "Your requested file"
from "example@example.com"
attachment :content_type => binary.content_type, :body => binary.data
end
end
# Wherever you want to e-mail something:
binary = Binary.find(:first)
Notifier.deliver_attachment("user@example.com", binary)
当然,如果您以不同的方式存储数据或数据库列的名称不同,则应调整Binary
上述示例中的类(或您使用的任何类)的方法。
我希望这有帮助。
于 2009-05-14T22:34:54.120 回答