- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我已将图像上传到 amazon s3 bucket
。当我尝试 recreate_versions!
时,它给了我一个 nil body
异常。
我认为这是由于我们代码中之前的 uploader 设置发生了变化。但是,当我执行 pr.image.url
时,它仍然会给我原始图像,所以我尝试的如下:
begin
User.all.each do |pr|
if pr.user.present?
pr.remote_avatar_url = pr.avatar.url
pr.save!
end
end
rescue
end
但是它抛出一个错误:
ActiveRecord::RecordInvalid: Validation failed: Avatar trying to download a file which is not served over HTTP
我知道这是载波异常。我想做的是,我想重新上传所有图片(因为 pr.avatar.url
给我原始图片),但我不知道该怎么做。任何帮助将不胜感激。
最佳答案
你是correct试图将远程 URL 存储在名为 remote_avatar_url 的属性中。
CarrierWave 在尝试将无效 URL 保存到模型时抛出 Validation failed: ATTRIBUTE trying to download a file which is not served over HTTP
异常。更具体地说,CarrierWave::Uploader::Download
在下载的文件“scheme”属性与正则表达式/^https/不匹配时引发 CarrierWave::DownloadError
URL 不以“https”开头)。可以查看这个逻辑here . (具体请参见第 31 和 69 行。)
我不确定这是否是问题所在,但您可以尝试检查 pr.avatar.url
以查看它是否以 https 前缀开头,然后再将其分配给 remote_avatar_url
。
我希望这至少能有所帮助。
关于ruby-on-rails - 在 Amazon S3 carrierwave 上重新上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40689658/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!