对于我在Ruby on Rails应用程序上的图像上传,我使用Ruby gem Paperclip,在本地运行良好。当在Heroku上进行Web托管时,我想使用Amazon S3来存储图片。但是每次我上传一张图片,都会收到以下消息:
“抱歉,出了点问题。如果您是应用程序所有者,请检查日志以获取更多信息。”
有人在网上说我必须使用早于v2.0的“aws-sdk”,但不幸的是,我的控制台会显示未初始化的常量AWS,因此该网站不再在本地主机上运行,也无法在Heroku上运行(我收到应用程序错误)。
因此,我坚持使用2.3版本,这也是Heroku heorku website上使用的版本。
AWS信息(AWS_ACCESS_KEY_ID、AWS_BUCKET、AWS_REGION、AWS_SECRET_ACCESS_KEY等)和写/读权限应正确。
“抱歉,出了点问题。如果您是应用程序所有者,请检查日志以获取更多信息。”
有人在网上说我必须使用早于v2.0的“aws-sdk”,但不幸的是,我的控制台会显示未初始化的常量AWS,因此该网站不再在本地主机上运行,也无法在Heroku上运行(我收到应用程序错误)。
因此,我坚持使用2.3版本,这也是Heroku heorku website上使用的版本。
AWS信息(AWS_ACCESS_KEY_ID、AWS_BUCKET、AWS_REGION、AWS_SECRET_ACCESS_KEY等)和写/读权限应正确。
production.rb
部分如下:config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('AWS_BUCKET'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
Gemfile文件
gem 'paperclip', '~> 4.3', '>= 4.3.6'
gem 'aws-sdk', '~> 2.3'
有人有想法让它工作吗?