您提到了如何在数据库中存储文件。 如何使用动作邮件程序将这些文件与邮件附加? 我搜索了很多站点,但无法找到附加数据库文件的方法。 随处可以附加存储在文件系统中的文件的帮助。
答案 0 :(得分:0)
与发送存储在磁盘上的附件没有什么不同。
假设您有一个与文件系统中的文件对应的模型Binary
。如果它响应content_type
和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
类(或您使用的任何类)的方法。
我希望这会有所帮助。