2016-12-09 11 views
1

Как видно из названия, я использую paperclip и S3 с Rails. Когда я пытаюсь создать запись, которая имеет изображение, я получаю эту ошибку:Paperclip, S3, Rails-Aws :: S3 :: Errors :: InvalidArgument():

[paperclip] saving interactives/5/images/original/Havaneser_Anton.jpg 
    (6.6ms) ROLLBACK 
Completed 500 Internal Server Error in 2021ms (ActiveRecord: 86.8ms) 



Aws::S3::Errors::InvalidArgument(): 

Я не знаю, что происходит, кроме «Это не работает» ...

Вот мой development.rb конфигурация:

Rails.application.configure do 
    # Settings specified here will take precedence over those in config/application.rb. 

    config.paperclip_defaults = { 
    storage: :s3, 
    s3_permissions: :public, 
    s3_region: ENV['AWS_REGION'], 
    s3_credentials: { 
     access_key_id: ENV['AWS_ACCESS_KEY_ID'], 
     secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], 
     bucket: ENV['AWS_S3_BUCKET'] 
    }, 
    s3_protocol: 'https', 
    s3_host_name: "s3-#{ENV['AWS_REGION']}.amazonaws.com", 
    path: ":class/:id/:attachment/:style/:filename" 
    } 

Моя модель выглядит следующим образом:

class Interactive < ApplicationRecord 
    belongs_to :project 
    has_attached_file :image, styles: { low_res: "10%", medium: "300x300>", thumb: "300x250>" }, default_url: "/images/:style/missing.png" 
    validates_attachment_content_type :image, content_type: /\Aimage\/.*\z/ 

ответ

1

Проверьте s3_permissions: :public, значение для этой опции должно быть одним из разрешений «Canned ACL» от here. :public не является вариантом!

+0

Спасибо! 'public-read' сделал это для меня – Mirror318

Смежные вопросы