0
我正尝试从刚刚在我的应用程序中注册的用户上传至亚马逊s3的脸书或推特上的现有图片,但有些验证不会让我保存用户对象,抛出:Image is invalid.
我认为这是对我的extension_white_list但我删除它和它的饲养说Image is invalid.
上传到S3的脸书/推特用户图片上的图片无效
- 这是不是一个错误,它只是一个从carrierwave验证我想消息,即使图片url字符串是正确的。
AvatarUploader
# encoding: utf-8
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWaveDirect::Uploader
include CarrierWave::RMagick
# Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
include Sprockets::Helpers::RailsHelper
include Sprockets::Helpers::IsolatedHelper
include CarrierWave::MimeTypes
process :set_content_type
def store_dir
"avatar/#{model.id}"
end
version :thumb do
process resize_to_fill: [50, 50]
end
# def extension_white_list
# %w(jpg jpeg gif png bmp)
# end
end
创建用户:
...
new_user = User.create(:name => auth['info']['name'],
:email => User.email_from_auth(auth))
auth_image_url = Authentication.larger_image(auth) # a string of user image url from social network authentication data. ie: http://a0.twimg.com/profile_images/1255111511/skyline.jpg
unless auth_image_url.blank?
new_user.remote_image_url = auth_image_url
new_user.save
end
...
你检查日志使用SDK的s3操作?如果上传无效,它应该会提供更多信息。当您在浏览器中使用它时,网址是否有效? – Keshi
是的,该网址的作品。 不,它的图像没有被上传,因为验证失败。 – p1nox
你是否从SDK中获得任何注销?如果url在提取图片时是正确的,那么它可能是上传时产生的签名问题 – Keshi