【问题标题】:Rails 3.1 mailer pdf attachment damagedRails 3.1 mailer pdf附件损坏
【发布时间】:2013-05-10 20:19:37
【问题描述】:

这是我的邮件:

class MailIt < ActionMailer::Base

    def funny(sender)
        @sender = sender
        attachments['funny.pdf'] = File.read("#{Rails.root}/app/assets/funny.pdf")
        mail(:to => "amail@example.com",
             :from => "amail@example.com",
             :subject => "TESST")
    end

end

我收到了附有 pdf 的电子邮件,但它已损坏,文件大小仅为原始文件的 1/4。

【问题讨论】:

  • 是的窗口。好像是编码问题……
  • 我猜的,因为我在 UNIX 中使用完全相同的代码没有问题。编码,二进制模式问题,谁知道呢……

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1


【解决方案1】:

如果您的 pdf 中有图片,则必须以二进制形式发送。

attachments['funny.pdf'] = File.read("#{Rails.root}/app/assets/funny.pdf", :mode => 'rb')

【讨论】:

  • 谢谢 - 这一点非常重要,在行动邮件指南中根本没有提到,但这是许多人将面临的关键问题。
【解决方案2】:

我确实找到了解决方案。

File.read 好像有问题

我试过了,效果很好:

attachments['funny.pdf'] = File.open("#{Rails.root}/app/assets/funny.pdf").read

【讨论】:

  • 现在图片有问题-.-
猜你喜欢
  • 1970-01-01
  • 2022-01-14
  • 2011-10-28
  • 2013-04-09
  • 2011-11-12
  • 2012-02-11
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
相关资源
最近更新 更多