ruby on rails - Reading and writing file attributes -
रेल कंसोल में:
ActionDispatch :: Http :: UploadedFile.new tempfile: 'टेम्पफाइलफू', मूल_फाइलनाम: 'filename_foo.jpg', content_type: 'content_type_foo', हेडर: 'headers_foo' = & gt; # & Lt; ActionDispatch :: Http :: UploadedFile: 0x0000000548f3a0 @ tempfile = "tempfilefoo", @ original_filename = शून्य, @ content_type = शून्य, @ हेडर = शून्य & gt; मैं @tempfile पर एक स्ट्रिंग लिख सकता हूं, और फिर भी @original_filename , @content_type और < <> शून्य
इस विशेषता के लिए मैं और कैसे लिख सकता हूं?
और मैं कैसे < उन्हें एक फ़ाइल आवृत्ति से इन विशेषताओं पढ़ें?
अर्थात
फ़ाइल। नया ('पथ / में / फ़ाइल' '')
यह प्रलेखित नहीं है (और अधिक समझ में नहीं आता है), लेकिन ऐसा लगता है कि : tempfile , : filename , : प्रकार और : head : def initialise (hash) #: nodoc: @tempfile = hash [: tempfile] @tempfile @iniginal_filename = encode_filename (हैश [: फ़ाइल नाम]) @content_type = हैश [: टाइप करें] @ हैडरस = हैश [: सिर] अपने इनवॉइस को बदलने के लिए काम करना चाहिए:
ActionDispatch :: Http :: UploadedFile.new tempfile: 'tempfilefoo', फ़ाइल नाम: 'filename_foo.jpg', प्रकार: 'content_type_foo' , सिर: 'headers_foo' या आप उन्हें आरंभीकरण के बाद सेट कर सकते हैं:
file = ActionDispatch :: Http :: UploadedFile.new tempfile: 'tempfilefoo ', फ़ाइल नाम:' filename_foo.jpg 'file.content_type =' content_type_foo 'फ़ाइल.हिडर्स =' headers_foo '< / code> मुझे यकीन नहीं है कि मैं आपके दूसरे प्रश्न को समझता हूं, "और मैं एक फाइल इंस्टेंस से इन विशेषताओं को कैसे पढ़ सकता हूं?"
आप फाइल नाम (या अंतिम घटक) को किसी भी रास्ते से निकाल सकते हैं:
फ़ाइल = फ़ाइल। New ('path / to / file.png') File.basename (file.path) # = & gt; "file.png" यदि आप एक फ़ाइल एक्सटेंशन के अनुरूप सामग्री-प्रकार प्राप्त करना चाहते हैं, तो आप रेल 'माइम मॉड्यूल का उपयोग कर सकते हैं:
प्रकार = माइम ["पीएनजी"] # = & gt; # & Lt; Mime :: प्रकार: ... @ समानार्थी = [], @ प्रतीक =: पीएनजी, @ स्ट्रिंग = "टेक्स्ट / पीएनजी" & gt; Type.to_s # = & gt; "Text / png" आप इसे File.extname के साथ जोड़ सकते हैं, जो आपको एक्सटेंशन देता है: ext = File.extname ("path / to / file.png") # = & gt; "। PNG" ext = ext.sub (/^../, '') # = & gt; "पीएनजी" (अग्रणी डॉट ड्रॉप) Mime [ext] .to_s # = & gt; "पाठ / पीएनजी" आप सभी MIME प्रकारों की एक सूची देख सकते हैं Rails कंसोल में Mime :: SET टाइप करके, या, जो आपको दिखाता है कि आप अन्य प्रकार की फाइलों की अपेक्षा कर रहे हैं, तो अन्य माइम प्रकार को कैसे रजिस्टर करें।
Comments
Post a Comment