Rails - Paperclip - How to Check the Image Dimensions before saving -


मेरे पास पेपरक्लिप के साथ एक रेल 3 एप है

क्या यह संभव है?

आइटमप्रॉप = "टेक्स्ट">

हां! यहां एक कस्टम सत्यापन है जिसे मैंने अपने ऐप के लिए लिखा था, इसे अपने में शब्दशः काम करना चाहिए, बस अपनी इच्छित चीज़ों के लिए पिक्सेल सेट करें।

  def file_dimensions dimensions = Paperclip :: geometry.from_file (file.queued_for_write) [: मूल] .पाथ) स्वयं। चौड़ाई = आयाम। चौथा स्व.हाइट = आयाम। अगर आयाम। विथ & lt; 50 & amp; amp; Dimensions.height & lt; 50 errors.add (: फ़ाइल, 'चौड़ाई या ऊंचाई कम से कम 50px') अंत का अंत होना चाहिए   

एक बात ध्यान दें, मैंने self.width = और self.height = डेटाबेस में आयामों को बचाने के लिए, यदि आप छवि आयामों को संग्रहीत करने की परवाह नहीं करते हैं, तो आप उन्हें छोड़ सकते हैं।

चौड़ाई और ऊंचाई की जांच इसका मतलब है कि केवल एक को 50px से अधिक होना चाहिए। यदि आप यह सुनिश्चित करना चाहते हैं कि दोनों 50 से अधिक हैं, तो विडंबना यह है कि चौड़ाई या ऊंचाई की जांच होनी चाहिए यह मेरे लिए अजीब लगता है कि एक या दूसरे का अर्थ है और जांच, और दोनों तरीकों या, या, लेकिन इस मामले में यह सच है।

केवल अन्य gotcha है, आपको इस मान्यता को चलाने के अंतिम: अगर मॉडल पर पहले से ही अन्य त्रुटियां हैं तो यह एक अपवाद उठाएगा। ईमानदारी से यह कुछ समय रहा है, इसलिए मुझे याद नहीं है कि त्रुटि संदेश क्या थे, लेकिन आपकी मान्यता मैक्रो में इसका इस्तेमाल होता है:

  मान्य करें: file_dimensions,: जब तक = & gt; "Errors.any?"   

इसे ध्यान रखना चाहिए!

Comments