通过AvatarUploader上传图片时出错

时间:2015-04-24 06:52:57

标签: ruby-on-rails nitrousio

我在Nitrous.io上以开发模式测试我的应用程序在本地主机上运行它。登录以编辑其帐户并上传图像的用户具有admin角色。但是,当用户尝试从本地计算机/笔记本电脑上载图像文件时,会引发以下错误:

Excon :: Errors ::禁止在UsersController#update

 Expected(200) <=> Actual(403 Forbidden) excon.error.response :body =>      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AllAccessDisabled</Code><Message>All access to this object has been disabled</Message><RequestId>982179552F0C4C29</RequestId><HostId>a5RfS52/0VwdIvro6g7kdaeO4OWm3aUrXVIkcKVY5HVuVM6VnRp0m3ksEflo8jxP88fL8/lBExM=</HostId></Error>" :headers => { "Connection" => "close" "Content-Type" => "application/xml" "Date" => "Fri, 24 Apr 2015 05:07:12 GMT" "Server" => "AmazonS3" "x-amz-id-2" => "a5RfS52/0VwdIvro6g7kdaeO4OWm3aUrXVIkcKVY5HVuVM6VnRp0m3ksEflo8jxP88fL8/lBExM=" "x-amz-request-id" => "982179552F0C4C29" } :local_address => "192.168.239.45" :local_port => 35419 :reason_phrase => "Forbidden" :remote_ip => "54.231.13.136" :status => 403

Extracted source (around line #5):
    4 def update
    5    if current_user.update_attributes(user_params)
    6      flash[:notice] = "User information updated"
    7     redirect_to edit_user_registration_path
    8    else


Request

Parameters:

{"utf8"=>"✓",
 "_method"=>"patch",
 "authenticity_token"=>"9Gzm2XuPF0s1vQhQZFbeX0xwNQ8v4wx+4K79OSomXEN6ITkvh6hu+/8RmhdiSOOpxUOIiu74S3j0AhS3u/mISQ==",
 "user"=>{"name"=>"lacey",
 "avatar"=>#<ActionDispatch::Http::UploadedFile:0x007fd26f0d3218 @tempfile=#<Tempfile:/tmp/RackMultipart20150424-2177-dg55wd.jpg>,
 @original_filename="snailSign.jpg",
 @content_type="image/jpeg",
 @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"snailSign.jpg\"\r\nContent-Type: image/jpeg\r\n">,
 "avatar_cache"=>""},
 "commit"=>"Update",
 "id"=>"16"}

我想知道我是否没有正确设置开发配置,这就是为什么会发生这种情况。但是,在尝试部署之前,我想在开发中解决这个问题 - 所以我养成了良好的习惯。我目前正在注册学徒,以学习使用rails进行Web开发。

提前致谢!

2 个答案:

答案 0 :(得分:0)

看起来错误来自AWS。不是heroku。您使用AWS存储图像吗? AWS配置正确吗? 我不确定,但是要配置AWS,您需要设置env_vars。 愿这post能帮到你

答案 1 :(得分:0)

您上传到Amazon S3吗?

如果是这样,您必须在AWS中设置正确的访问设置。

此处有更多信息Excon::Errors::Forbidden - StackOverflow

相关问题