2010-10-11 15 views
5

मैं एक छवि अपलोड करें और डिस्क पर संग्रहीत करने के लिए उपयोग कर रहा हूँ Pylons फ़ाइल पर "AttributeError 'यूनिकोड' ऑब्जेक्ट कोई विशेषता 'पढ़ा' है":त्रुटि: अपलोड

<form method="post"> 
<input type="file" name="picture" enctype="multipart/form-data" /> 
</form> 
मेरी नियंत्रक में

तब:

if 'picture' in request.POST: 

    i = ImageHandler() 

    #Returns full path of image file 
    picture_file = i.makePath() 

    shutil.copyfileobj(request.POST['picture'],picture_file) 

लेकिन मैं त्रुटि प्राप्त: AttributeError: 'यूनिकोड' ऑब्जेक्ट कोई गुण नहीं है 'पढ़ा'

यहाँ क्या हो रहा है? आपकी सहायता के लिए धन्यवाद.

उत्तर

3

copyfileobj दोनों तर्क अब स्ट्रिंग हैं, जबकि यह फ़ंक्शन तर्क के रूप में फ़ाइलें (या "फ़ाइल-जैसी ऑब्जेक्ट्स") लेता है। जैसे

picture_file = open(i.makePath(), 'w') 

(या सिर्फ picture_file = i, नहीं यकीन है कि क्या अपने ImageHandler वर्ग की तरह है) कुछ करो, तो

shutil.copyfileobj(request.POST['picture'].file, picture_file) 
+0

धन्यवाद। मुझे अभी भी वही त्रुटि मिलती है, हालांकि। क्या यह मेरी पहली तर्क के साथ एक समस्या हो सकती है? या अनुरोध है। पोस्ट ['तस्वीर'] सही है? – ensnare

+0

मैंने अभी अपना जवाब संशोधित किया है। –

+0

यह बहुत अजीब बात है, जब मैं ऐसा करता हूं, मुझे मिलता है: विशेषताएँ त्रुटि: 'यूनिकोड' ऑब्जेक्ट में कोई विशेषता नहीं है 'फ़ाइल' – ensnare

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