2013-05-07 3 views
0

Carrierwave + carrierwave_backgrounder + Sidekiq + Heroku를 사용하여 이미지를 업로드하고 있습니다. 업로드가 제대로 작동합니다. 업로드 양식이 제출되면 업로드 된 이미지를 표시해야하지만 백그라운드 작업은 여전히 ​​처리 중이므로 페이지에는 파일 이름 만 표시됩니다. 백그라운드 작업이 완료 될 때까지 기다려야합니다. 페이지를 새로 고침하여 보시기 바랍니다. 페이지로드가 완료되면 임시 업로드 이미지를 어떻게 표시합니까?
데프 cache_dir의
"# {Rails.root}/tmp를/업로드"

Heroku에서 Carrierwave S3 및 Sidekiq을 사용하여 캐시 된 업로드 이미지를 tmp/uplodas 디렉토리에 표시하는 방법

:

나는 내가 TMP 이미지를 저장하는 cache_dir의을 config (설정) 할 수있다이 같은 이후에 삭제됩니다 알고

이 tmp 이미지를 렌더링 할 수 있습니까? 그렇다면 뷰에서 어떻게 렌더링합니까? 나는

내가 process_in_background을 사용하고있는 업 로더에 DEFAULT_URL을 사용하지 않도록 할 : 아바타 모델에

감사합니다!

+0

내가 거기에 의심이 같은 그 함께 내가 통해 UR 가장 좋은 건 (아마도 당신이 그것을 알고)'default_url'는 또한'move_to_cache''move_to_store' 통해 UR 배경을 향상시킬 수있는 설정 확인을 추정 처리 경험은 UR 파일처럼 보이기 때문에 상당히 큰 것입니다 – Viren

답변

2

업 로더 클래스에 default_url 메소드를 정의 할 수 있어야합니다.

예는 :

class MyUploader < CarrierWave::Uploader::Base 
    def default_url 
    "/images/fallback/" + [version_name, "default.png"].compact.join('_') 
    end 
end 
+0

고마워요, tmp/uploads에 캐싱 된 업로드 된 이미지를 표시 할 수있는 방법이 있습니까? – user1883793