我正在使用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图像。