我已经使用carrierwave,S3和fog-aws为我的rails应用程序实现了文件上传。无论文件大小如何,它都适用于我的本地开发环境。但是,当部署到AWS时,文件上传< 1MB成功,任何事情> 1MB导致Chrome中出现ERR_CONNECTION_RESET
并且'连接已重置'在Firefox中。
以下是我使用的宝石。
gem 'carrierwave', '~> 1.0'
gem 'fog-aws', '~> 1.1'
以下是我的carrierwave.rb
CarrierWave.configure do |config|
config.fog_provider = 'fog/aws'
config.fog_credentials = {
provider: "AWS",
aws_access_key_id: ENV["S3_KEY"],
aws_secret_access_key: ENV["S3_SECRET"],
region: ENV["S3_REGION"]
}
config.fog_directory = ENV["S3_BUCKET"]
end
以下是我的上传者。
class AttachmentUploader < CarrierWave::Uploader::Base
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end