我有一份代码在 lib 文件夹中。这段代码在 rails 外部可以正常运行,但是当从 rails 控制器中调用时,我遇到了未初始化的常量 AWS::S3::Base 错误。
require 'rubygems'
require 'aws/s3'
module S3Util
def self.upload_file(local_file)
mime_type = "application/octet-stream"
bucket = "test"
AWS::S3::Base.establish_connection!(
:access_key_id => '*****',
:secret_access_key => '****'
)
base_name = File.basename(local_file)
puts "**** Uploading #{local_file} as '#{base_name}' to '#{bucket}'"
AWS::S3::S3Object.store(
base_name,
File.open(local_file),
bucket,
:content_type => mime_type
)
puts "***** Uploaded!"
end
end
aws-s3
gem 已经有些被弃用了,现在已经由fog
gem 取代了吗? - Thomas Klemm