2014-01-15 1 views
2

Я следовал инструкциям из https://github.com/carrierwaveuploader/carrierwave#setting-the-content-typecarrierwave не спасает CONTENT_TYPE на Uploader

так что я получил:

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 
... 

В PARAMS содержат:

... "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 => < CarrierWave :: SanitizedFile: 0x34b1c @ original_filename = n иль @ content_type = ноль @file = "/ главная/Reea/проекты/рубин/learning_cms/государственные/загрузки/asset_info/файл/20/IMG.jpg">

AssetInfo.last.file.file.content_type = > ноль

+0

после обновления приложения для работы с Amazon S3, сохраняется тип контента –

ответ

2

Carrierewave говорит, что они будут принизить эту функцию в будущем, и советуют использовать вместо Carrierwave::SanitizedFile

https://github.com/carrierwaveuploader/carrierwave/blob/v0.11.2/lib/carrierwave/processing/mime_types.rb

Там также метод коррекции приложенный к этому методу

https://github.com/carrierwaveuploader/carrierwave/blob/v0.11.2/lib/carrierwave/processing/mime_types.rb#L56

Возможно, это может дать вам направление.

+0

Ни одна из ссылок не работает – Deep

Смежные вопросы