2012-07-07 17 views
6

मैं जानता हूँ कि मैं वास्तव में कुछ यहाँ आसान याद कर रहा हूँ के माध्यम से मौजूद है ...Carrierwave जांच करता है, तो रिमोट फाइल कोहरे

CarrierWave::Storage::Fog::File एक विधि exists है?

मैं इसका उपयोग कैसे करूं? मैं बस यह जांचने की कोशिश कर रहा हूं कि पहले से अपलोड की गई फाइल रिमोट स्टोरेज पर मौजूद है या नहीं।

न तो मेरी छवि वस्तु, न ही मेरे अपलोडर ऑब्जेक्ट के पास इस विधि तक पहुंच है। निश्चित रूप से मुझे यह जांचने के लिए कोई नया CarrierWave::Storage::Fog::File ऑब्जेक्ट बनाने की आवश्यकता नहीं है कि फ़ाइल मौजूद है या नहीं?

यदि हां, तो मुझे किन पैरामीटर डालना चाहिए? यह निम्नलिखित लेता है: अपलोडर, बेस, पथ (मैंने अपलोडर, स्टोर निर्देशिका और छवि यूआरएल का उपयोग किया, लेकिन यह काम नहीं किया)

उत्तर

18

मान लीजिए कि आपके पास मॉडल छवि वाला मॉडल उपयोगकर्ता है जिसे आप कैरियरवेव ऑन का उपयोग करते हैं। अब आप लिख सकते हैं:

user = User.first 
user.image.file.exists? 

यह एक दूरस्थ जाँच लें कि रिटर्न पर अमल होगा सही या गलत

+0

पता था कि मैं कुछ सरल याद आ रही थी; बहुत बहुत धन्यवाद! – Demelziraptor

+0

हालांकि यह काम करता है, यह निष्पादित करने में धीमा है क्योंकि यह रिमोट चेक कर रहा है, खासकर यदि आप इसे किसी पृष्ठ पर एकाधिक छवियों पर कर रहे हैं। –

+0

मैं फ़ाइल को कैसे जांच सकता हूं या डेटाबेस में सहेजने से पहले अपलोड किया जा सकता हूं? (अपलोड करने के लिए स्टोरेज, कैरियरवेव और Dropzone.js के लिए S3 का उपयोग करना) –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^