Hopp til innholdet

cjohansen.no

Bildeopplasting i Rails

Bildeopplasting i Rails er en lek med attachment_fu og andre plugins. Det som ikke er like lekende lett er bildebehandlingsbibliotekene i bunn. Her er noen tips.

Velge bildebehandler

Det finnes så langt jeg vet tre reelle alternativer å velge mellom. Giganten er RMagick som er en Ruby-wrapper til ImageMagick. Dette er et svært sofistikert bildebehandlingsbibliotek, men mange klager over voldsomt minneforbruk.

En lettere variant er minimagick som løser noen av minneproblemene ved å heller kjøre ImageMagick i shellet.

ImageScience

ImageMagick er uansett overkill for mitt behov akkurat nå, som for det meste er å resize bilder, Til slike tilfeller er det lettere passiv-agressivt navngitte ImageScience perfekt! Desverre er det ikke like moro å installere som software på Debian/Ubuntu ofte er...

Installasjon

Å installere ImageScience består i tre steg:

  1. Laste ned og bygge FreeImage
  2. Installere utvikler-tilleggene til Ruby
  3. Installere image_science gem-en

Denne artikkelen får deg nesten helt i mål, men bare nesten.

Følgende er stegene over i detaljer:

sudo apt-get install build-essential
wget http://ftp.cica.es/ubuntu/ubuntu/pool/universe/f/freeimage/freeimage_3.9.3.orig.tar.gz
tar -xvf freeimage_3.9.3.orig.tar.gz
cd freeimage-3.9.3.repacked/FreeImage
make && sudo make install
cd ../../
rm -fr freeimage*
sudo apt-get install ruby1.8-dev
sudo gem install image_science

Husk så å starte Ruby (irb, mongrel osv) på nytt før du forsøker å bruke dette. Nå er du klar til å sette opp attachment_fu med Mke Clarks glimrende gjennomgang.

Hvis du får problemer med serveren i produksjonsmodus må du legge til følgende i RAILS_ROOT/config/environments/production.rb:

ENV['INLINEDIR'] = RAILS_ROOT + "/tmp"

Happy imaging!

Muligens relatert

2006 - 2010 Christian Johansen Creative Commons Lisens