即使文件很小,Rails carrierwave上传动画也很慢

时间:2016-10-14 06:37:22

标签: javascript ruby-on-rails ruby carrierwave

我试图上传一个动画gif只有 611KB 文件大小,并且 30 40秒或更长时间比完成。我已经调整了我的服务器配置 client_max_body_size 以接受 10MB 文件上传,并且它已经正常工作并且没有花费太长时间来解决我的问题#39;我现在正在使用jpg,jpeg和png文件进行测试。我不确定这是在服务器配置中的原因还是由我在此处粘贴的carrierwave生成文件版本的过程。我已经做了很多研究,但似乎我找不到与我相同的问题。顺便说一句,我在这上面使用javascript上传器。这里有没有人遇到过与Rails carrierwave相同的问题?

而且我的萤火虫中也有这个消息:

... POST data request size limit has been reached by Firebug. ...

这是我使用的宝石和我的上传者的载波代码:

gem 'carrierwave'
gem 'carrierwave-aws'
gem 'carrierwave-base64'

应用程序/上传/ photo_uploader.rb

require 'securerandom'

class PhotoUploader < CarrierWave::Uploader::Base

  include CarrierWave::RMagick
  storage :aws

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  process :auto_orient
  def auto_orient
    manipulate! do |img|
      img.auto_orient!
      img = yield(img) if block_given?
      img
    end
  end

  version :scaled_512 do
    process :resize_to_fit => [512, 512]
  end

  version :thumb_425, from_version: :scaled_512 do
    process :resize_to_fill => [425, 212]
  end

  version :thumb_256, from_version: :scaled_512 do
    process :resize_to_fill => [256, 256]
  end

  def remove!
    begin
      super
    rescue Fog::Storage::Rackspace::NotFound
    end
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

  def filename
    "#{secure_token}.#{file.extension}" if original_filename.present?
  end

  protected
  def secure_token
    var = :"@#{mounted_as}_secure_token"
    model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid)
  end

end

0 个答案:

没有答案