2014-08-28 5 views
1

나는 구름 저장소 작업에 PaperclipFog을 사용하고 있습니다. 클라우드 스토리지는 Openstack API를 제공하고, 여기 내 설정이다 :Ruby FOG 및 사용자 정의 오픈 스택 공급자 : NotImplementedError

paperclip_defaults.rb :

Paperclip::Attachment.default_options.update({ 
    :path => "images/:class/:id/:attachment/:style/img_:fingerprint", 
    :storage => :fog, 
    :fog_credentials => { 
     :provider => 'OpenStack', 
     :openstack_auth_url => 'myurl', 
     :openstack_username => 'login', 
     :openstack_api_key => 'pass' 
    }, 
    :fog_directory => 'dir', 
    :fog_public => true, 
}) 

모든 업로드를위한 잘 작동하지만 난 사진을 다운로드 할 수 없습니다!

public_url 항상 OpenStack은 저장이 오류를 반환

fog (1.23.0) lib/fog/openstack/models/storage/directory.rb:35:in `public_url' 
fog (1.23.0) lib/fog/openstack/models/storage/files.rb:67:in `get_url' 
fog (1.23.0) lib/fog/openstack/models/storage/file.rb:81:in `public_url' 
paperclip (4.2.0) lib/paperclip/storage/fog.rb:136:in `public_url' 
paperclip (4.2.0) lib/paperclip/storage/fog.rb:51:in `block (2 levels) in extended' 
paperclip (4.2.0) lib/paperclip/interpolations.rb:34:in `block (2 levels) in interpolate' 
paperclip (4.2.0) lib/paperclip/interpolations.rb:33:in `gsub' 
paperclip (4.2.0) lib/paperclip/interpolations.rb:33:in `block in interpolate' 
paperclip (4.2.0) lib/paperclip/interpolations.rb:32:in `each' 
paperclip (4.2.0) lib/paperclip/interpolations.rb:32:in `inject' 
paperclip (4.2.0) lib/paperclip/interpolations.rb:32:in `interpolate' 
paperclip (4.2.0) lib/paperclip/url_generator.rb:13:in `for' 
paperclip (4.2.0) lib/paperclip/attachment.rb:142:in `url' 

NotImplementedError : 여기 는 스택 트레이스입니다. 뭐가 문제 야?

답변

2

"fog_host"를 오브젝트 저장 영역 서비스 엔드 포인트로 설정해야합니다.

다음은 예입니다. https://gist.github.com/withhawaii/4527bfdbe4fd1d52f67a

Openstack Horizon에서 끝점을 찾을 수 있습니다. Horizon에 로그인하고 "Access & Security"=> "API Access"를 클릭하십시오. Object Storage 서비스 끝점의 URL을 찾을 수 있습니다.

기본적으로 사용자가 파일에 액세스 할 수있는 URL입니다. 시스템 관리자가 프록시 또는 무언가를 설정할 수 있습니다. 그런 경우 시스템 관리자가 준 URL을 설정하십시오.

희망이 도움이 될 것입니다.

gt