gpt4 book ai didi

ruby-on-rails - 使用 Paperclip 解析电子邮件附件 - 可能没有临时文件?

转载 作者:行者123 更新时间:2023-12-04 07:38:34 24 4
gpt4 key购买 nike

我在 heroku 上的 Rails 3 应用程序收到传入的电子邮件。我希望能够接受附件,但无法让 rails 无误地处理附件。

理想的情况是传递 ActionMailer 提供的附件。

message_all = Mail.new(params[:message])
message_all.attachments.each do |a|
attachments.each do |a|
.attachments.build(
:attachment => a
)
end
end

它的错误是:NoMethodError (undefined methodrewind' for #)`其中附件是模型,附件是回形针

想法是什么?有没有其他方法可以将附件 = a 传递给回形针?

我尝试了另一种方法,创建一个临时文件:

tempfile = File.new("#{Rails.root.to_s}/tmp/#{a.filename}", "w+")
tempfile << a.body
tempfile.puts
attachments.build(
:attachment => File.open(tempfile.path) )

临时文件的问题是没有扩展名“blah”而不是“blah.png”的文件正在破坏回形针,这就是我想避免使用临时文件的原因。并创建身份错误,imagemagick 不知道它们是什么,没有分机。

非常感谢对此的任何建议。

最佳答案

您使用的方法的问题在于它们不包含回形针的所有必要信息,例如内容类型和原始文件名。我写了一个blog post前一段时间讲过这个,以及如何伪造格式并将电子邮件附件用作回形针附件。

这样做的底线是:

file = StringIO.new(attachment)
file.class.class_eval { attr_accessor :original_filename, :content_type }
file.original_filename = attachment.filename
file.content_type = attachment.mime_type

关于ruby-on-rails - 使用 Paperclip 解析电子邮件附件 - 可能没有临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4357893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com