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:
- Laste ned og bygge FreeImage
- Installere utvikler-tilleggene til Ruby
- 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!