gpt4 book ai didi

ruby-on-rails - 将流写入回形针

转载 作者:行者123 更新时间:2023-12-04 08:57:29 25 4
gpt4 key购买 nike

我想使用回形针存储收到的电子邮件附件。从电子邮件中我得到了 part.body,但我不知道如何将它放入回形针模型中。现在我创建临时文件并将 port.body 写入其中,将此文件存储到回形针,然后删除文件。这是我如何使用临时文件:

    l_file = File.open(l_path, "w+b", 0644)
l_file.write(part.body)
oAsset = Asset.new(
:email_id => email.id,
:asset => l_file,
:header => h,
:original_file_name => o,
:hash => h)
oAsset.save
l_file.close
File.delete(l_path)

:asset 是我的“has_attached_file”字段。有没有办法省略文件创建并执行以下操作: :asset => part.body in Asset.new ?

最佳答案

假设您使用 mail gem,我会这样做阅读电子邮件。您需要整个电子邮件“部分”,而不仅仅是 part.body

file = StringIO.new(part.body) #mimic a real upload file
file.class.class_eval { attr_accessor :original_filename, :content_type } #add attr's that paperclip needs
file.original_filename = part.filename #assign filename in way that paperclip likes
file.content_type = part.mime_type # you could set this manually aswell if needed e.g 'application/pdf'

现在只需使用文件对象保存到 Paperclip 关联。
a = Asset.new 
a.asset = file
a.save!

希望这可以帮助。

关于ruby-on-rails - 将流写入回形针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166782/

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