Tôi đang di chuyển ứng dụng của mình từ Rails 3.0.9 đến 3.2.3 và ruby 1.9.3. Tôi đã sử dụng kẹp giấy (2.3.11) với đá quý aws-s3 để lưu trữ hình ảnh của tôi.Lỗi :: Đá quý SignatureDoesNotMatch, AWS-SDK hỗ trợ S3 trên kẹp giấy 3.0.1 và đường ray 3.2
Bây giờ tôi muốn sử dụng phiên bản cuối cùng của kẹp giấy (3.0.1) và sau đó tôi phải sử dụng đá quý aws-sdk.
tôi đã thiết lập tập tin aws.yml tôi như:
development: &development
bucket: bucket_name_for_dev
access_key_id: *****
secret_access_key: *******
staging:
<<: *development
bucket: bucket_name_for_staging
production:
<<: *development
bucket: bucket_name_for_prod
mô hình của tôi chứa:
has_attached_file :picture, :styles => { :medium => "300x300>", :thumb => "50x50>" }, :default_url => 'picture_missing.png',
:storage => :s3,
:bucket => "bucket_name_for_dev",
:s3_credentials => Rails.root.join("config/aws.yml"),
:path => "/presentation_pictures/:id/:style/:filename",
:url => ":s3_eu_url"
attr_accessible :picture
attr_accessor :picture_url
Khi cố gắng để tải lên một tập tin, tôi nhận được thông báo lỗi:
AWS::S3::Errors::SignatureDoesNotMatch
The request signature we calculated does not match the signature you provided. Check your key and signing method.
Tôi đã xác minh lần thứ tại các phím của tôi có thể truy cập và được đặt thành giá trị phù hợp.
Đây cũng là những gì tôi nhận được từ giao diện điều khiển:
[paperclip] Saving attachments.
[paperclip] saving /presentation_pictures/43/original/Image_1.png
[AWS S3 200 0.813272 0 retries] put_object(:acl=>:public_read,:bucket_name=>"*******_dev",:content_type=>"image/png",:data=>#<Paperclip::UploadedFileAdapter:0x2e144b4 @target=#<ActionDispatch::Http::UploadedFile:0x2dbb1fc @original_filename="Image 1.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"presentation_picture[picture]\"; filename=\"Image 1.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/tb/tbmv4LE9EwGNPr1QqU2S0E+++TI/-Tmp-/RackMultipart20120407-33502-1gajfe9>>, @tempfile=#<File:/var/folders/tb/tbmv4LE9EwGNPr1QqU2S0E+++TI/-Tmp-/Image 1.png20120407-33502-an4dcy>>,:key=>"presentation_pictures/43/original/Image_1.png")
Bạn có bất cứ ý tưởng từ nơi có thể đến vấn đề này? Thx
Tôi không có câu trả lời cho bạn nhưng bạn có thể đăng aws-sdk và aws-s3 phiên bản từ Gemfile.lock? Tôi đang cố gắng tìm ra lý do tại sao điều này cũng bắt đầu xảy ra với tôi. –