我已按照https://github.com/carrierwaveuploader/carrierwave#setting-the-content-type
的说明进行操作所以我得到了:
require 'carrierwave/processing/mime_types'
class AssetFileUploader < CarrierWave::Uploader::Base
include CarrierWave::MimeTypes
process :set_content_type
...
但在上传文件后,content_type不会更新。
我有一个AssetInfo模型,在
上安装了上传者AssetFileUploader:file attribute
class AssetInfo < ActiveRecord::Base
mount_uploader :file, AssetFileUploader
...
参数包含:
... "file"=># @headers="Content-Disposition: form-data; name=\"asset[asset_info_attributes][file]\"; filename=\"img.jpg\"\r\nContent-Type: image/jpeg\r\n"> ...
文件上传后,我在控制台中尝试:
AssetInfo.last.file.file =&GT; &LT; CarrierWave :: SanitizedFile:0x34b1c @ original_filename = nil @ content_type = nil @file =“/ home / reea / projects / ruby / learning_cms / public / uploads / asset_info / file / 20 / img.jpg”&gt;
AssetInfo.last.file.file.content_type =&GT;零
答案 0 :(得分:1)
Carrierewave说他们将来会弃用此功能并建议使用Carrierwave::SanitizedFile
而不是
此方法附加了一个覆盖方法
也许这可以给你指路。