【发布时间】:2021-02-27 17:43:32
【问题描述】:
我最近从 Carrierwave 1.3 升级到 2.1,但由于 MIME 类型无效,我遇到了一些规范失败。
我存储在数据库中,CSV 上传,如果 mime 类型为text/csv,我会在模型上进行验证。
validates :file, presence: true, file_content_type: {
allow: [
'text/csv',
'application/vnd.ms-excel',
'application/vnd.ms-office',
'application/octet-stream',
'text/comma-separated-values'
]
}
根据规范,我创建了一个夹具
let(:file) { fixture_file_upload('files/fixture.csv', 'text/csv') }
当我调试时,
@file=
#<CarrierWave::SanitizedFile:0x00007f8c731791f0
@content=nil,
@content_type="invalid/invalid",
@file="/Users/tiagovieira/code/work/tpc/public/uploads/csv_file_upload/file/1/1605532759-308056149220914-0040-7268/fixture.csv",
@original_filename="fixture.csv">,
@filename="fixture.csv",
@identifier="fixture.csv",
这是否与carrierwave 停止使用mime-types gem 作为依赖项有关?
【问题讨论】:
标签: ruby-on-rails ruby mime-types carrierwave