2012-05-03 3 views
7

여기 내 상황이었습니다.매번 히로쿠에게 밀고, 이미지가 표시되지 않습니다. 클립

나는 클립 클립을 사용하여 사용자가 이미지를 업로드 할 수있게했습니다. 그것은 잘했고 모든 것은 괜찮 았어. 그런 다음, 나는 그것을 영웅에게 밀어 넣었다. momment에서는 사용자가 방금 업로드 한 모든 이미지를 볼 수 있습니다. 그러나 매번 새로운 커밋을하고 다시 히로쿠에게 나가면 이전의 모든 이미지가 사라집니다. 더 이상 파일을 가지고 있지 않은 것 같습니다.로드 할 수 없습니다.

그래서 내가 생각한 것 : heroku 서버에 푸시 할 때마다 로컬에있는 이미지 파일이 heroku 서버에 업로드 되었습니까?

나는 그것에 대한 나의 문제에 대한 연구를했는데, 그들이 실제로 heroku에 관해 말한 것을 이해하지 못한다. 그리고 나도 똑같은 문제인지 모른다.

Heroku에는 읽기 전용 파일 시스템이 있습니다. 즉, Paperclip은 업로드 된 파일을 Heroku 내의 어느 위치에도 저장할 수 없습니다.

Heroku에서 호스팅되는 응용 프로그램에 파일을 업로드하려면 데이터베이스에 이진 Blob 형식으로 파일을 저장하거나 별도의 서비스를 사용해야합니다. 별도의 서비스를 원할 경우 Paperclip에는 Amazon S3와의 통합 지원 기능이 내장되어 있습니다.

나는 아마존 S3에 신용 카드가 없다면 신용 카드가 없어서 서비스를 사용할 수 없다는 것을 알았습니까? 당신이

답변

5

아마존은 무료 장치가 아닌, 당신이 그것을 사용하는 신용 ​​카드 번호를 제공해야합니다 .Thanks

상세 조언과 explaination 모든 감사드립니다. 그러나 당신은 당신이 사용하는 것만을 지불하지만 그것은 비싸지 않습니다. 예를 들어 내 웹 사이트의 경우 지난 달 15Gb의 저장 용량에 대해 2.46 달러를 지불했으며 16Gb의 데이터 전송에 대해 1.90 달러를 지불했습니다.

이 클립과 S3를 사용하려면, 당신은 당신이 예를 들어, config/s3.yml 자산 자격 증명을 추가 할 필요가 당신의 Gemfile

다음에 gem 'aws-s3'을 추가해야 다음

production: 
    access_key_id: AAAAAAAAAAAAAAAAAA 
    secret_access_key: BBBBBBBBBBBBBBBBBBBBBBBBBBB 
    bucket: assets.my-bucket 

내가 저장 모델을 내 자산은, 예를 들면 :

class Asset 
    has_attached_file :asset, 
    :styles => { :thumb => "60x60#", :large => "700x330#"}, 
    :storage => :s3, 
    :s3_credentials => "#{Rails.root}/config/s3.yml", 
    :path => "/images/:id/:style.:extension" 
    validates_attachment_content_type :asset, :content_type => ['image/gif', 'image/jpeg', 'image/png', 'image/x-ms-bmp'] 
end 

나는

도움이되기를 바랍니다
+0

네,이 문제에 대해 알고 있었습니까? 내 문제에 대해 더 많은 문제를 제기 할 수 있습니까? Amazon S3와 같은 다른 서비스를 사용하려면 해결해야합니다. –

+0

S3가 아닌 원하는 효과를 사용할 수는 있지만 heroku에서는 에셋을 업로드 할 수 없습니다. 따라서 전용 서버 나 다른 원격 스토리지 시스템을 사용할 수는 있지만 비용을 지불해야 할 것입니다. –

+0

oic ... 그래서 heroku에 밀어 넣을 때마다, 내가 heroku 서버에 업로드 한 이미지가 영향을 받습니까? –

관련 문제