Friday 15 August 2014

django - Python: Serving files, All carriage returns lost in text file -


मैं लिंक में वर्णित विधि का उपयोग कर रहा हूं

  import os आयात mimetypes django से .core.servers.basehttp import filewrapper def download_file (अनुरोध): the_file = '/some/file/name.png' फ़ाइल नाम = os.path.basename (the_file) प्रतिक्रिया = HttpResponse (फाइलव्रेपर (खुला (the_file)), content_type = Mimetypes.guess_type (the_file) [0]) प्रतिक्रिया ['सामग्री-लंबाई'] = os.path.getsize (the_file) प्रतिक्रिया ['सामग्री-विवाद'] = "अनुलग्नक; फ़ाइल नाम =% s"% फ़ाइलनाम वापसी प्रतिक्रिया   

शुरू में एक फॉर्म में डेटा प्राप्त करते हैं, सबमिट किए जाने पर, मैं "कॉन्फ़िग" जनरेट करने के लिए डेटा को संसाधित करता हूं और इसे किसी फाइल में लिखता हूं। तब जब मान्य हो, फ़ाइल को उपयोगकर्ता के पास एक डाउनलोड के रूप में वापस पास करें। यह बड़ी काम करता है, सिवाय इसके कि मैं इस समस्या में भाग रहा हूं कि मेरी स्थिति में फ़ाइल पाठ है, इसलिए जब फ़ाइल डाउनलोड की जाती है, तो इसकी सीआर / एलएफ़ बिना पाठ के एक धब्बे के रूप में आ रहा है।

इस पते पर कैसे कोई सुझाव है?

बाइनरी मोड के साथ खोलें। / P>

  खुले (the_file, 'rb')   

डिफ़ॉल्ट रूप से पाठ मोड का उपयोग करना है, जो ' \ N 'लिखने और पढ़ने पर वापस एक मंच-विशिष्ट प्रतिनिधित्व करने के लिए वर्ण। इस प्रकार, जब एक द्विपदीय फ़ाइल खोलते हैं, तो आपको द्विआधारी मोड में फ़ाइल को खोलने के लिए मोड मान में 'बी' जोड़ना चाहिए, जो पोर्टेबिलिटी में सुधार होगा। ('बी' को भी उन प्रणालियों पर भी उपयोगी है जो द्विआधारी और पाठ फ़ाइलों को अलग तरह से व्यवहार नहीं करते हैं, जहां यह दस्तावेज के रूप में कार्य करता है।)

No comments:

Post a Comment