2014-02-21 22 views
0

在rails上创建一个UploadedFile对象我正在使用一个邮件服务器,它向我的应用发送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)' 

我想要做的就是把它变成某种Rails的文件“对象,是适合用回形针过程。

任何想法如何最好地解决这个问题?

非常感谢, 克里斯。

回答

0

我刚刚解决了这个问题,把它从SO上的其他答案拼凑在一起。

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 

祝你好运!