carrierwaveを使ってgif画像を投稿しようとするとたまに失敗してしまうのですが、原因がわかりません。
jpgなどの静止画像はちゃんと投稿できています。
容量の大きい画像を投稿しようとすると失敗するということでしょうか?
ちなみにサーバーはEC2のmicro(一番容量の小さいもの)を使っています。
サーバーのスペックが原因でしょうか?
わかる方いましたらアドバイスよろしくお願いします。
rails
1app/uploaders/image_uploader.rb 2 3# encoding: utf-8 4 5class ImageUploader < CarrierWave::Uploader::Base 6 7 # Include RMagick or MiniMagick support: 8 include CarrierWave::RMagick 9 # include CarrierWave::MiniMagick 10 11 process :fix_exif_rotation 12 13 def fix_exif_rotation 14 manipulate! do |img| 15 img.auto_orient 16 img = yield(img) if block_given? 17 img 18 end 19 end 20 21 # Choose what kind of storage to use for this uploader: 22 # storage :file 23 storage :fog 24 25 # Override the directory where uploaded files will be stored. 26 # This is a sensible default for uploaders that are meant to be mounted: 27 def store_dir 28 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 29 end 30 31 # Provide a default URL as a default if there hasn't been a file uploaded: 32 # def default_url 33 # # For Rails 3.1+ asset pipeline compatibility: 34 # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) 35 # 36 # "/images/fallback/" + [version_name, "default.png"].compact.join('_') 37 # end 38 39 # Process files as they are uploaded: 40 # process :scale => [200, 300] 41 # 42 # def scale(width, height) 43 # # do something 44 # end 45 46 process :resize_to_limit => [700, 700] 47 48 # Create different versions of your uploaded files: 49 version :thumb do 50 process :resize_to_fill => [700, 700] 51 end 52 53 # Add a white list of extensions which are allowed to be uploaded. 54 # For images you might use something like this: 55 def extension_white_list 56 %w(jpg jpeg gif png) 57 end 58 59 # Override the filename of the uploaded files: 60 # Avoid using model.id or version_name here, see uploader/store.rb for details. 61 #def filename 62 # if original_filename 63 # time = Time.now 64 # name = time.strftime('%Y%m%d%H%M%S') + '.jpg' 65 # name.downcase 66 # end 67 #end 68 69 def filename 70 "#{secure_token}.#{file.extension}" if original_filename.present? 71 end 72 73 protected 74 def secure_token 75 var = :"@#{mounted_as}_secure_token" 76 model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid) 77 end 78 79end 80
あなたの回答
tips
プレビュー