Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用Rails中的回形针gem上载Outlook文件(.msg扩展名)_Ruby On Rails_Ruby_Outlook_Paperclip Validation - Fatal编程技术网

Ruby on rails 如何使用Rails中的回形针gem上载Outlook文件(.msg扩展名)

Ruby on rails 如何使用Rails中的回形针gem上载Outlook文件(.msg扩展名),ruby-on-rails,ruby,outlook,paperclip-validation,Ruby On Rails,Ruby,Outlook,Paperclip Validation,我需要能够附加电子邮件到一个模型,特别是.eml和.msg文件 回形针现在需要验证随它上传的文件类型 下面是我的代码中那些验证活动的部分: validates_attachment_content_type :supporting_document, :content_type => ['application/pdf', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-office

我需要能够附加电子邮件到一个模型,特别是.eml和.msg文件

回形针现在需要验证随它上传的文件类型

下面是我的代码中那些验证活动的部分:

validates_attachment_content_type :supporting_document,
:content_type => ['application/pdf', 'application/vnd.ms-excel',
                  'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                  'image/jpeg', 'image/jpg', 'image/png',
                  'application/vnd.ms-excel.sheet.macroEnabled.12', 'application/msword',
                  'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
                  'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',EML_MIMETYPE],
:message => 'incorrect file type.'
最后一部分EML_MIMETYPE用于.EML文件,定义为常量:

EML\u MIMETYPE='message/rfc822'

通过在终端中对test.eml文件使用file命令,我找到了.eml文件的正确MIME类型:

$file-b--mime类型~/Desktop/noname.eml

然而,当我在一个sample.msg文件上执行此操作时,它会返回一个损坏的MIME类型

$ file -b --mime-type ~/Desktop/testemail.msg
>application/CDFV2-corrupt
从网上看,这个链接建议可能使用MIME类型的“application/vnd.msoutlook”,但我运气不好


有什么建议吗?我运行的是linux xubuntu 14.04,应用程序使用的是Rails 3.2.18和ruby 1.9.3p392,为什么不默认为application/octet stream?

不确定我会怎么做……你能给出一个我将使用的代码示例吗?我对ruby几乎一无所知,你现在如何设置内容类型?你找到解决方案了吗?