Ich muss überprüfen, ob die Bilder, die Leute auf meine Seite hochladen, die genaue Breite von 200px und die Höhe von 300px haben. Wenn sie diese Dimensionen nicht haben, sollten sie nicht in der Datenbank gespeichert werden.Wie kann Bildbreite und -höhe beim Upload mit Carrierwave, Mini Magick und Mongoid überprüft werden?
Ich habe seit Jahren mit Mini-Magick versucht und zahlreiche Tutorials, Beiträge zu Stack Overflow usw. durchgelaufen, aber ich kann keine funktionale Methode finden, dies zu tun.
Ich benutze Ruby 1.9.3 und Schienen 3.2.2, auf einem MongoDB läuft Mongoid.
Ich habe wirklich gehofft, Sie könnten mich in die richtige Richtung bringen.
Mein Bild Modell sieht wie folgt aus:
class Flow
include Mongoid::Document
include Mongoid::Taggable
include Mongoid::Timestamps
include Mongo::Voteable
voteable self, :up => +1, :down => -1
attr_accessible :image, :remote_image_url, :tags
mount_uploader :image, UserUploader
belongs_to :user
field :shot, :type => String
field :remote_image_url, :type => String
field :tags, type: Array
end
Und mein carrierwave Modell sieht wie folgt aus:
class UserUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg png gif)
end
end
In meiner Anwendung Ich akzeptiere alle Größen für das Bild, sondern automatisch die Größe vor – MikDiet
Speicher Und ich weiß, wie das zu tun. Die Sache ist, dass ich das Bild brauche, das Leute hochladen, um eine genaue Breite und Höhe zu haben, also ist das keine Option. Es muss eines der Genies hier drin geben, die einen Hinweis haben ?! Es ist ziemlich überraschend, dass es in mini_magick keine eingebaute Lösung dafür gibt, wenn es Lösungen für alles andere gibt. –