xls 和 xlsx 的回形针内容类型

paperclip content type for xls and xlsx

遇到回形针内容类型问题,需要上传 xls/xlsx 文件。

has_attached_file :sheet
validates_attachment_content_type :sheet, content_type: [
                                          'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
                                          'application/zip',
                                          'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                                          'application/vnd.ms-excel',
                                          'application/xls',
                                          'application/xlsx',
                                          'application/octet-stream'
                                        ],
                                message: ' Only EXCEL files are allowed.' 

注意: 从 google 驱动器创建了一个 sheet。

我尝试了以上内容类型,但每次都出现相同的错误

输出

Command :: file -b --mime '/var/folders/zy/khy_wsfn7jbd40bsdps7qwqc0000gt/T/5a76e813d6a0a40548b91acc11557bd220160328-13642-1meqjap.xlsx'
   (0.2ms)  BEGIN
Command :: file -b --mime '/var/folders/zy/khy_wsfn7jbd40bsdps7qwqc0000gt/T/5a76e813d6a0a40548b91acc11557bd220160328-13642-114d8t6.xlsx'
   (0.3ms)  ROLLBACK
{:sheet_content_type=>[" Only EXCEL files are allowed."], :sheet=>[" Only EXCEL files are allowed."]}

走错了路; (

使用

修复了它
has_attached_file :sheet,
                :path => ":rails_root/public/system/:attachment/:id/:filename"

validates_attachment :sheet, presence: true,
                   content_type: { content_type: [
                     "application/vnd.ms-excel",
                     "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                   ]
                   },
                   message: ' Only EXCEL files are allowed.'