... spezialisiert auf professionelles Webdesign
für kleine und mittelständische Unternehmen.
Von der Beratung und Konzeption, über das Design, bis hin zur Programmierung, stehe ich Ihnen auch nach dem Onlinegang mit Pflege und Wartung ihres Internetauftritts zur Seite.
Werfen Sie einen Blick auf meine Referenzen und zögern Sie nicht bei Interesse telefonisch oder per e-Mail mit mir Kontakt aufzunehmen.
Ich hab heute ein altes Rails Projekt von Attachment_Fu auf Paperclip umgestellt. Da in diesem Projekt nicht nur Bilder hochgeladen werden, bin ich auf folgendes Problem gestoßen.
Beim Hochladen einer Zip-Datei kam es zu folgendem Fehler:
File /tmp/carved,24144,0.zip is not recognized by the ‘identify’ command.
Das Problem ist das Paperclip bei jedem Upload versucht die konfigurierten Thumbnails der entsprechenden Datei zu generieren. Handelt es sich dabei aber nicht um eine Grafik, kommt es zu dem oben genannten Fehler.
Die Lösung: Man nutzt den before_post_process callback. Dieser wird vor der Thumbnail Generierung aufgerufen. Wir prüfen ob es sich beim Upload um eine Grafik handelt oder nicht. Handelt es sich nicht um eine Grafik geben wir false zurück und das Generieren der Thumbnails wird übersprungen und der Upload erfolgreich durchgeführt.
Hier ein Beispiel-Model
class Media < ActiveRecord::Base
has_attached_file :media,
:styles => { :thumb => "100x100>" }
before_post_process :image?
private
def image?
!(media_content_type =~ /^image.*/).nil?
end
end
Hierbei ist zu beachten das before_post_process nach has_attached_file aufgerufen wird.