2011-06-30 17 views
5

Mam model, który posiada:CarrierWave URL obrazu

mount_uploader :image, ImageUploader 

Podczas przesyłania obrazu Chcę odzyskać pewną szerokość, wysokość i niektóre dane EXIF ​​z obrazu. W przed filtrem Wołam self.image.url ale to wróci coś takiego:

/uploads/tmp/20110630-1316-10507-7899/emerica_wildinthestreets.jpg

Problemem jest to, że gdy próbuję otworzyć ten obraz przy użyciu:

image = MiniMagick::Image.open(self.image.url) 

uzyskać "Nie ma takiego pliku lub katalogu - /uploads/tmp/20110630-1312-10507-6638/emerica_wildinthestreets.jpg". Wygląda na to, że obraz został już przeniesiony z folderu tmp do jego ostatecznej lokalizacji, ale self.image.url nie odzwierciedla tej zmiany.

Próbowałem również tego w metodzie after_save, ale wynik jest taki sam. Jakieś pomysły?

Odpowiedz

5

Okazuje się, że muszę dołączyć "# {Rails.root.to_s}/public /" do self.image.url

+4

Bardziej poprawne rozwiązanie byłoby self.image.path –

Powiązane problemy