RailsでAmazonS3への画像のアップロードを行いたいです。
サーバーへ画像データをPOSTすると以下のエラーが出ます。
しかし、画像の表示ページへ戻ると画像はアップロードされていて表示されています。
S3のストレージにも画像データが格納されています。
発生している問題・エラーメッセージ
Expected(204) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code> ........
該当のソースコード initializers/carrierwave.rb
require 'carrierwave/storage/abstract' require 'carrierwave/storage/file' require 'carrierwave/storage/fog' CarrierWave.configure do |config| if Rails.env.production? || Rails.env.development? #一時的に環境を揃える config.storage :fog config.fog_public = false config.fog_provider = 'fog/aws' config.fog_directory = 'hoge' config.asset_host = 'https://s3-ap-northeast-1.amazonaws.com/hoge' config.fog_credentials = { provider: 'AWS', aws_access_key_id: 'hoge', aws_secret_access_key: 'hoge', region: 'ap-northeast-1', path_style: true } else config.storage :file config.enable_processing = false if Rails.env.test? end end CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:].\-+]/
試したこと
一時的にアクセス許可を変更しましたが同じエラーのままでした。
補足情報(FW/ツールのバージョンなど)
環境
Rails(5.2.6)
gem 'carrierwave'
gem 'fog-aws'
postのcodeに問題があるのでは?
載せてください