ImageKit はローカルでは正常に動作しますが、heroku では動作しないのはなぜですか?
概要
puts "Uploading image #{@game_id}"
kit = IMGKit.new(@game_url, quality: 50)
image_data = kit.to_png
obj = S3.object(File.join(@bucket_path, "#{@game_id}.png"))
obj.put(body: image_data, acl: 'public-read', content_type: 'image/png')
puts " ------------- image uploaded successfully -------------- "
このコードはローカルでは正常に動作します。画像を確認すると正しい画像が表示されますが、heroku にアップロードしてこれを確認すると、0 バイトの画像が表示されます。
なぜこのような動作を示すのか誰か教えていただけますか?
解決策
クラウドストレージを使用していますか? そうでない場合は、プロジェクト内で設定します。Heraku がアクセスできるのはクラウド ストレージ ファイルのみであり、マシン上のローカル ファイルには Heroku からアクセスできないためです。