Używam MiniMagick do zmiany rozmiaru obrazu na zdjęciach przesłanych w formie wieloczęściowej. Muszę wygenerować kilka różnych typów obrazów z pierwotnie przesłanego pliku. Oto kod, który jest wykonywanie obróbki obrazu:Skąd się biorą pliki tymczasowe podczas używania MiniMagick w aplikacji Ruby on Rails?
// Generates a thumbnail image
mm = MiniMagick::Image.open(Rails.root.join('public', 'uploads', new_url))
mm.resize(thumbnail_dimensions.join("x"))
mm.write(Rails.root.join('public', 'uploads', "t_"+new_url))
// Generates cropped version
mm_copy = MiniMagick::Image.open(Rails.root.join('public', 'uploads', new_url))
mm_copy.crop('200x200')
mm_copy.write(Rails.root.join('public', 'uploads', "c_"+new_url))
new_url
jest ścieżką do obrazu w folderze public
. Funkcja miniatur działa perfekcyjnie. Kiedy aplikacja zacznie przetwarzać przyciętą wersję, to tam zaczynają się łamać i nie mogę tego zrozumieć. I pojawia się następujący błąd, gdy z tego kodu:
No such file or directory - /tmp/mini_magick20110627-10055-2dimyl-0.jpg
czytałem kilka rzeczy na temat możliwych warunkach wyścigowych z śmieciarza w szynach, ale nie był w stanie rozwiązać ten problem. Próbowałem tego również z konsoli i mogłem tworzyć instancje MiniMagick, ale otrzymałem tam także błąd No such file
. W tym momencie nie mam pojęcia, gdzie się udać, więc mam nadzieję, że ktoś tutaj ma pomocne wskazówki. Dzięki za pomoc!
Szczegóły:
- OS: Ubuntu (Lucid Lynx)
- Szyny wersja: 3.0.7
- Ruby Version: 1.8.7
- MiniMagick Wersja: 3,3
Czy praca kod upraw jeśli wykomentuj wiersze miniaturek powyżej? – Joshua
Hmmm ... Nie próbowałem tego. Wracam do tego projektu, więc sprawdzę to i opublikuję wyniki. –