Carrierwave を使用してユーザーのアバターとして画像を s3 にアップロードしています。画像は正しくアップロードされていますが、ユーザー モデルを更新しようとすると、アップロードされた画像の URL に空白が含まれているとエラーが発生しました。
URI::InvalidURIError
bad URI(is not URI?): https://files.s3.amazonaws.com/avatar/110/111134a0-25d6-0130-f023-60eb69762222/photo copy.jpg
これを解決するより良い方法は何ですか? 画像をアップロードするために、carrierwave、fog、carrierwave_direct、rmagick を使用しています。
[アップデート:::::::::::::::::::::::::::::::::::::::::::::::: :::::]
この「carrierwaveが特定のURLを読み込めません」を読んだ後、次のように追加しましたAvatarUploader < CarrierWave::Uploader::Base
:
def process_uri(uri)
URI.parse(URI.escape(URI.unescape(uri)))
end
しかしうまくいきませんでした。このアプローチは正しいようですが、「%20」の代わりに空白を使用して URL 画像を DB に保存し続けます。