理想的做法是传递ActionMailer提供的附件.
message_all = Mail.new(params[:message]) message_all.attachments.each do |a| attachments.each do |a| .attachments.build( :attachment => a ) endend
它错误:NoMethodError(undefined methodrewind’for#)`
附件是模型,附件是回形针
想法?是否有不同的方法将附件= a传递给回形针?
我尝试了另一种方法,创建一个临时文件:
tempfile = file.new("#{Rails.root.to_s}/tmp/#{a.filename}","w+")tempfile << a.bodytempfile.putsattachments.build(:attachment => file.open(tempfile.path) )
tempfile的问题是没有扩展的文件“blah”而不是“blah.png”正在打破paperclip,这就是为什么我要避免使用tempfile.并且创建身份错误,imagemagick不知道它们是什么而不是ext.
非常感谢任何关于此的建议.
解决方法 您使用的方法的问题是它们不包含回形针的所有必要信息,如内容类型和原始文件名.我曾经写了一篇关于这篇文章的 blog post,以及如何伪造格式并使用电子邮件附件作为回形针附件.底线是这样做:
file = StringIO.new(attachment)file.class.class_eval { attr_accessor :original_filename,:content_type }file.original_filename = attachment.filenamefile.content_type = attachment.mime_type总结
以上是内存溢出为你收集整理的ruby-on-rails – 解析电子邮件附件w回形针 – 可能没有临时文件?全部内容,希望文章能够帮你解决ruby-on-rails – 解析电子邮件附件w回形针 – 可能没有临时文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)