我正在使用一个邮件服务器向我的应用发出JSON请求,以通知收到的邮件。处理附件时,它给了我一个原始的:
a1.name
# => e.g. 'sample.pdf'
a1.type
# => e.g. 'application/pdf'
a1.content
# => this is the raw content provided by Mandrill, and will be base64-encoded if not plain text
# e.g. 'JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvY ... (etc)'
a1.decoded_content
# => this is the content decoded by Mandrill::Rails, ready to be written as a File or whatever
# e.g. '%PDF-1.3\n%\xC4\xE5 ... (etc)'
我正在尝试将其转换为某种适合使用Paperclip处理的Rails'文件'对象。
有什么想法最好的方法吗?
非常感谢, 克里斯。
答案 0 :(得分:0)
我刚刚解决了这个问题,将其与其他答案拼凑在一起。
file = StringIO.new(a1.decoded_content)
file.class.class_eval { attr_accessor :original_filename, :content_type}
file.original_filename = a1.name
file.content_type = a1.type
@d = Document.create #Document is my model that has a paperclip attachment called doc
@d.doc = file
@d.save
祝你好运!
本