PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

मेरे लिनक्स पीसी से django कोड के माध्यम से टेक्स्ट फ़ाइल को उसके एक्सटेंशन और उसके फ़ाइल आकार की जांच किए बिना कैसे पहचानें?

आप शायद फ़ाइल एक्सटेंशन की परवाह किए बिना अपलोड के MIME प्रकार का पता लगाना चाहते हैं, और यह अक्सर "मैजिक नंबर" या फ़ाइल की वास्तविक प्रकृति को इंगित करने वाले अन्य बिट पैटर्न का पता लगाने के लिए फ़ाइल हेडर को पढ़कर किया जाता है। अक्सर टेक्स्ट फाइलें एक एज केस होती हैं, जहां कोई हेडर नहीं मिलता है और पहले x बाइट्स प्रिंट करने योग्य ASCII या यूनिकोड होते हैं।

जबकि इसमें गोता लगाने के लिए एक खरगोश का छेद है, कुछ पायथन पुस्तकालय हैं जो आपके लिए ऐसा करेंगे। उदाहरण के लिए:https://github.com/ahupp/python-magic फ़ाइल सामग्री के अनुसार केवल माइम प्रकार का अनुमान लगाकर आपकी आवश्यकताओं के लिए काम करेगा, जिसे आप तब उन प्रकारों से मिलाएंगे जिन्हें आप स्वीकार करना चाहते हैं।

आपकी आवश्यकताओं के लिए विशिष्ट उदाहरण कोड का कुछ संबंधित सेट यहां पाया जा सकता है:https://stackoverflow.com /a/28306825/7341881

संपादित करें:एडी का समाधान कार्यक्षमता समकक्ष है; पायथन-मैजिक लिबमैजिक को लपेटता है, जो कि लिनक्स की मूल "फाइल" कमांड में टैप करता है। यदि आप सबप्रोसेस रूट जाने का निर्णय लेते हैं, तो अतिरिक्त सावधानी बरतें कि आप उपयोगकर्ता इनपुट (जैसे उपयोगकर्ता द्वारा प्रदान किया गया फ़ाइल नाम) को अनुचित तरीके से साफ करके सुरक्षा भेद्यता नहीं बना रहे हैं। इससे आपके सर्वर के रनटाइम परिवेश में मनमानी पहुंच प्रदान करने वाला हमला हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. निष्पादित करें ... में ... पीएल/पीजीएसक्यूएल में कथन का उपयोग रिकॉर्ड में निष्पादित नहीं हो सकता है?

  2. तालिका Grupo Cakephp के लिए FROM-क्लॉज प्रविष्टि गुम है

  3. सभी तालिकाओं (PostgreSQL) में एक विशिष्ट मान कैसे खोजें?

  4. JSONB ऑब्जेक्ट से वास्तविक मानों के साथ प्रमुख नाम निकालना

  5. एसक्यूएल में सभी संयुक्त घटनाओं की गणना कैसे करें?