2013-03-24 6 views
0

사용 Linode하기 - 말 - Linode을업로드 파일이 내 애플에게 Heroku에서 호스팅하고 가능하면 내가 Heroku가에 있지만 직접적으로 공공/폴더에없는 파일을 업로드 궁금 CarrierWave

내 응용 프로그램은 모두에게 Heroku를 사용 및 Linode. 두 사람은 웹 서비스 요청을 통해 서로 이야기합니다. 하지만 일반적으로 생성 된/업로드 된 파일을 Linode에만 저장하려고합니다. Heroku에는 아무 것도 저장하지 않습니다.

이제 사용자가 파일을 업로드 할 수있는 상황이 있습니다. 최종 목적지는 Linode입니다. 하지만 현재, 나는 Client PC -> Heroku -> Linode로 가야한다. 그러나 최적의 솔루션은 클라이언트 PC가 될 것입니다. -> Linode

기존 코드를 다시 연결하기 전에 물어볼 것이라고 생각했습니다. 다음과 같이 storage_dir 메소드를 변경하면 트릭이 실행됩니까? 당신의 도움에 대한

def storage_dir 
    return http://<linode>/<local-folder> 
end 

덕분에 Abhinav 그래서

+0

파일을 직접 linode에 업로드하는 클라이언트 측 자바 스크립트 솔루션일까요? 크로스 원본 공유를 사용할 수 있습니다. – John

답변

0

, 당신은 CarrierWave를 사용? 현재 Linode에 업로드하는 방법을 잘 모르겠지만 찔러 보겠습니다.

그래서, GitHub의에 CarrierWave의 설명서에 따라, 당신은 아마 당신의 설정/초기화에 carrierwave.rb 파일이 같은 것을 추가해야

:

물론
CarrierWave.configure do |config| 
    config.fog_credentials = { 
    :provider    => 'AWS',   # required 
    :aws_access_key_id  => 'xxx',   # required 
    :aws_secret_access_key => 'yyy',   # required 
    } 
    config.fog_directory = 'name_of_directory' # required 
end 

, 그건 당신이 아마존을 사용하는 경우 AWS S3. 리노 드 (& 다른 스토리지 서비스)에 대한 일부 안개 문서를 찾았습니다. http://ruby-doc.org/gems/docs/p/phpfog-fog-0.4.1.2/Fog/Linode/Compute/Mock.html 'new (options = {})'을 클릭하면 @linode_api_key = options[:linode_api_key]이 표시됩니다. 따라서, CarrierWave를 사용하여 Linode에 직접 업로드 할 수있을 것이라고 생각합니다.

CarrierWave.configure do |config| 
    config.fog_credentials = { 
    :provider    => 'Linode',  
    :linode_api_key   => 'xxx',   
    } 
    config.fog_directory = 'name_of_directory' 
end