2011-09-29 13 views
15

में टिफ छवियों को परिवर्तित करना मैं उपयोगकर्ता को छवियों को अपलोड करने की अनुमति देने के लिए पेपरक्लिप का उपयोग कर रहा हूं और मैं एक छवि को jpg/png में तभी परिवर्तित करना चाहता हूं, यदि यह एक टिफ छवि है।पेपरक्लिप - जेएफजी या पीएनजी

मैं अपने image.rb में निम्नलिखित कोड का उपयोग कर रहा:

validates_attachment_presence :data 
    validates_attachment_content_type :data, 
    :content_type => ['image/jpeg', 'image/pjpeg', 
            'image/jpg', 'image/png', 'image/tif', 'image/gif'], :message => "has to be in a proper format" 

मैं अगर यह संभव है jpg या png में टिफ छवियों कन्वर्ट करने के लिए जब उन्हें अपलोड करने जानना चाहूंगा।

बहुत बहुत धन्यवाद

उत्तर

29

अंततः एक समाधान मिला। सोचा कि यह किसी और के लिए सहायक हो सकता है।

:styles => { 
    :thumb => ["150x172#",:jpg], 
    :large => ["100%", :jpg] 
    } 

यह मुख्य छवि फ़ोल्डर में 2 अतिरिक्त फ़ोल्डर, thumb और large पैदा करेगा:

image.rb में, कोड की निम्न पंक्तियां दर्ज करें। यदि आप छवियों को प्रदर्शित करना चाहते हैं (जो मूल रूप से टिफ थे), तो बस 'बड़े' फ़ोल्डर में मिले जेपीईजी संस्करण को प्रदर्शित करें।

ध्यान दें कि मूल टिफ छवियां अभी भी मुख्य छवि फ़ोल्डर के नीचे 'मूल' फ़ोल्डर में संग्रहीत की जाएंगी।

चीयर्स

10

तान्या अपने समाधान अच्छा है। हालांकि अगर आपको फ़ाइल प्रकार की परवाह नहीं है, तो आप मूल छवि को पास करके सभी छवियों को jpg के रूप में भी स्टोर कर सकते हैं। उदाहरण:

:styles => { 
.... 
    :original => ["100%", :jpg] 
} 

इससे कहीं भी यह सुनिश्चित करने में सहायता मिलेगी कि फ़ाइल कहां कहलाती है, आप मुद्दों में भाग लेंगे।