Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 Excon::错误::在UsersController#更新中禁止_Amazon S3_Carrierwave - Fatal编程技术网

Amazon s3 Excon::错误::在UsersController#更新中禁止

Amazon s3 Excon::错误::在UsersController#更新中禁止,amazon-s3,carrierwave,Amazon S3,Carrierwave,我正在尝试使用Carrierwave将图像上传到AmazonS3,让我的用户有机会上传头像 当我添加图像文件并单击“更新”时,会收到以下错误消息: Excon::Errors::Forbidden in UsersController#update Expected(200) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version=\"1.0\" encoding=\"UTF-8

我正在尝试使用Carrierwave将图像上传到AmazonS3,让我的用户有机会上传头像

当我添加图像文件并单击“更新”时,会收到以下错误消息:

Excon::Errors::Forbidden in UsersController#update
Expected(200) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version=\"1.0\"     encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message>    <RequestId>67D635476E2363B7</RequestId>    <HostId>Aw9W8C1ShJt73UGE6IuRZAOK6UkWM46hy+noygWCZAR2Has1lrCDpZkcgX2+7y7b</HostId></Error>" :headers     => { "Connection" => "close" "Content-Type" => "application/xml" "Date" => "Sun, 14 Dec 2014 21:21:35     GMT" "Server" => "AmazonS3" "x-amz-id-2" =>     "Aw9W8C1ShJt73UGE6IuRZAOK6UkWM46hy+noygWCZAR2Has1lrCDpZkcgX2+7y7b" "x-amz-request-id" =>     "67D635476E2363B7" } :local_address => "192.168.195.234" :local_port => 56281 :reason_phrase =>     "Forbidden" :remote_ip => "54.231.64.217" :status => 403
我的UsersController更新为:

 def update
  if current_user.update_attributes(user_params)
  flash[:notice] = "User information updated"
  redirect_to edit_user_registration_path
 else
  flash[:notice] = "Invalid User information"
  redirect_to edit_user_registration_path
end
end

  private

   def user_params
     params.require(:user).permit(:name, :avatar)
   end
我更新化身的表格是:

    .form-group
      = f.label :name
      = f.text_field :name, class: 'form-control', placeholder: 'Enter name', autofocus: true
    - if current_user.avatar?
      .form-group
        %p Current avatar
        = image-tag(current_user.avatar.profile.url)
    .form-group
      = f.label :avatar
      = f.file_field :avatar 
      = f.hidden_field :avatar_cache 

    .form-group
      = f.submit 'Update', class: 'btn btn-success'
我在StackOverflow上发现了一个类似的问题,答案与为bucket选择的区域有关;但是S3不再需要区域

我不熟悉Excon,也不理解我收到的任何错误消息

有人有什么建议吗


谢谢

为了防止其他人遇到这个问题,下面是我的解决方法:

我正在Amazon S3上使用IAM用户,而我用于此应用的访问和密钥的用户没有权限。哎呀


所以,我给了那个用户超级用户和管理权限,我的化身加载正常

为了防止其他人遇到这个问题,下面是我的解决方法:

我正在Amazon S3上使用IAM用户,而我用于此应用的访问和密钥的用户没有权限。哎呀


所以,我给了那个用户超级用户和管理权限,我的化身加载正常

亚马逊AWS管理控制台>>用户>>选择IAM用户>>附加策略>>亚马逊3FullAccess

亚马逊AWS管理控制台>>用户>>选择IAM用户>>附加策略>>亚马逊3FullAccess